using System; using System.Runtime.InteropServices; namespace System.Runtime.Remoting.Channels { /// Provides the stack functionality for a stack of server channel sinks. // Token: 0x020003AE RID: 942 [ComVisible(true)] public interface IServerChannelSinkStack : IServerResponseChannelSinkStack { /// Pops the information associated with all the sinks from the sink stack up to and including the specified sink. /// Information generated on the request side and associated with the specified sink. /// The sink to remove and return from the sink stack. /// The immediate caller does not have infrastructure permission. // Token: 0x060025C2 RID: 9666 object Pop(IServerChannelSink sink); /// Pushes the specified sink and information associated with it onto the sink stack. /// The sink to push onto the sink stack. /// Information generated on the request side that is needed on the response side. /// The immediate caller does not have infrastructure permission. // Token: 0x060025C3 RID: 9667 void Push(IServerChannelSink sink, object state); /// Presents a callback delegate to handle a callback after a message has been dispatched asynchronously. /// The status and state of an asynchronous operation on a remote object. /// /// /// // Token: 0x060025C4 RID: 9668 void ServerCallback(IAsyncResult ar); /// Stores a message sink and its associated state for later asynchronous processing. /// A server channel sink. /// The state associated with . // Token: 0x060025C5 RID: 9669 void Store(IServerChannelSink sink, object state); /// Stores a message sink and its associated state, and then dispatches a message asynchronously, using the sink just stored and any other stored sinks. /// A server channel sink. /// The state associated with . // Token: 0x060025C6 RID: 9670 void StoreAndDispatch(IServerChannelSink sink, object state); } }