using System; using System.IO; using System.Runtime.InteropServices; using System.Runtime.Remoting.Messaging; namespace System.Runtime.Remoting.Channels { /// Provides required functions and properties for client channel sinks. // Token: 0x020003A5 RID: 933 [ComVisible(true)] public interface IClientChannelSink : IChannelSinkBase { /// Gets the next client channel sink in the client sink chain. /// The next client channel sink in the client sink chain. /// The immediate caller does not have infrastructure permission. /// /// /// // Token: 0x17000708 RID: 1800 // (get) Token: 0x060025AB RID: 9643 IClientChannelSink NextChannelSink { get; } /// Requests asynchronous processing of a method call on the current sink. /// A stack of channel sinks that called this sink. /// The message to process. /// The headers to add to the outgoing message heading to the server. /// The stream headed to the transport sink. /// The immediate caller does not have infrastructure permission. // Token: 0x060025AC RID: 9644 void AsyncProcessRequest(IClientChannelSinkStack sinkStack, IMessage msg, ITransportHeaders headers, Stream stream); /// Requests asynchronous processing of a response to a method call on the current sink. /// A stack of sinks that called this sink. /// Information generated on the request side that is associated with this sink. /// The headers retrieved from the server response stream. /// The stream coming back from the transport sink. /// The immediate caller does not have infrastructure permission. // Token: 0x060025AD RID: 9645 void AsyncProcessResponse(IClientResponseChannelSinkStack sinkStack, object state, ITransportHeaders headers, Stream stream); /// Returns the onto which the provided message is to be serialized. /// The onto which the provided message is to be serialized. /// The containing details about the method call. /// The headers to add to the outgoing message heading to the server. /// The immediate caller does not have infrastructure permission. // Token: 0x060025AE RID: 9646 Stream GetRequestStream(IMessage msg, ITransportHeaders headers); /// Requests message processing from the current sink. /// The message to process. /// The headers to add to the outgoing message heading to the server. /// The stream headed to the transport sink. /// When this method returns, contains a interface that holds the headers that the server returned. This parameter is passed uninitialized. /// When this method returns, contains a coming back from the transport sink. This parameter is passed uninitialized. /// The immediate caller does not have infrastructure permission. // Token: 0x060025AF RID: 9647 void ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, out ITransportHeaders responseHeaders, out Stream responseStream); } }