using System;
using System.Runtime.InteropServices;
namespace System.Runtime.Remoting.Channels
{
/// Creates server channel sinks for the server channel through which remoting messages flow.
// Token: 0x020003AD RID: 941
[ComVisible(true)]
public interface IServerChannelSinkProvider
{
/// Gets or sets the next sink provider in the channel sink provider chain.
/// The next sink provider in the channel sink provider chain.
/// The immediate caller does not have infrastructure permission.
///
///
///
// Token: 0x1700070C RID: 1804
// (get) Token: 0x060025BE RID: 9662
// (set) Token: 0x060025BF RID: 9663
IServerChannelSinkProvider Next { get; set; }
/// Creates a sink chain.
/// The first sink of the newly formed channel sink chain, or null, which indicates that this provider will not or cannot provide a connection for this endpoint.
/// The channel for which to create the channel sink chain.
/// The immediate caller does not have infrastructure permission.
// Token: 0x060025C0 RID: 9664
IServerChannelSink CreateSink(IChannelReceiver channel);
/// Returns the channel data for the channel that the current sink is associated with.
/// A object in which the channel data is to be returned.
/// The immediate caller does not have infrastructure permission.
// Token: 0x060025C1 RID: 9665
void GetChannelData(IChannelDataStore channelData);
}
}