Naanou.LookupService
Class NClientSink

A custom channel sink. Embeds addressing details into requests.

Embeds the following values in the remoting headers Key - Value

  • AddrId - Naanou id for node
  • AddrUrl - Access URL
  • AddrNet - Network id
  • Field Summary
    System.Runtime.Remoting.Channels.IClientChannelSink _next
    Naanou.LookupService.Node _node

    Constructor Summary
    NClientSink(System.Runtime.Remoting.Channels.IClientChannelSink nextSink, Naanou.LookupService.Node node)
             Constructor

    Property Summary
    System.Runtime.Remoting.Channels.IClientChannelSink NextChannelSink
             Gets or sets the next channel sink

    Properties inherited from class System.Runtime.Remoting.Channels.BaseChannelObjectWithProperties
    Count, IsFixedSize, IsReadOnly, IsSynchronized, Item, Keys, Properties, SyncRoot, Values

    Method Summary
    void AsyncProcessRequest(System.Runtime.Remoting.Channels.IClientChannelSinkStack sinkStack, System.Runtime.Remoting.Messaging.IMessage msg, System.Runtime.Remoting.Channels.ITransportHeaders headers, System.IO.Stream stream)
             Async'ly process a request
    void AsyncProcessResponse(System.Runtime.Remoting.Channels.IClientResponseChannelSinkStack sinkStack, object state, System.Runtime.Remoting.Channels.ITransportHeaders headers, System.IO.Stream stream)
             Async'ly process a response
    System.IO.Stream GetRequestStream(System.Runtime.Remoting.Messaging.IMessage msg, System.Runtime.Remoting.Channels.ITransportHeaders headers)
             Gets request stream
    void InjectHeaders(System.Runtime.Remoting.Channels.ITransportHeaders headers)
    void ProcessMessage(System.Runtime.Remoting.Messaging.IMessage msg, System.Runtime.Remoting.Channels.ITransportHeaders requestHeaders, System.IO.Stream requestStream, System.Runtime.Remoting.Channels.ITransportHeaders responseHeaders, System.IO.Stream responseStream)
             Process a message

    Methods inherited from class System.Runtime.Remoting.Channels.BaseChannelObjectWithProperties
    Add, Clear, Contains, CopyTo, GetEnumerator, IEnumerable.GetEnumerator, Remove

    Methods inherited from class System.Object
    Equals, Finalize, GetHashCode, GetType, MemberwiseClone, ToString


    Field Detail

    _next

    private System.Runtime.Remoting.Channels.IClientChannelSink _next


    _node

    private Naanou.LookupService.Node _node

    Constructor Detail

    NClientSink

    public NClientSink(System.Runtime.Remoting.Channels.IClientChannelSink nextSink,
                       Naanou.LookupService.Node node)

    Constructor

    Parameters:
    nextSink - Next sink
    node - Address
    Property Detail

    NextChannelSink

    public System.Runtime.Remoting.Channels.IClientChannelSink NextChannelSink

    Gets or sets the next channel sink

    Method Detail

    AsyncProcessRequest

    public void AsyncProcessRequest(System.Runtime.Remoting.Channels.IClientChannelSinkStack sinkStack,
                                    System.Runtime.Remoting.Messaging.IMessage msg,
                                    System.Runtime.Remoting.Channels.ITransportHeaders headers,
                                    System.IO.Stream stream)

    Async'ly process a request

    Parameters:
    sinkStack - Sink statck
    msg - Message to process
    headers - Headers
    stream - Data stream

    AsyncProcessResponse

    public void AsyncProcessResponse(System.Runtime.Remoting.Channels.IClientResponseChannelSinkStack sinkStack,
                                     object state,
                                     System.Runtime.Remoting.Channels.ITransportHeaders headers,
                                     System.IO.Stream stream)

    Async'ly process a response

    Parameters:
    sinkStack - Sink
    state - State
    headers - Headers
    stream - Stream

    GetRequestStream

    public System.IO.Stream GetRequestStream(System.Runtime.Remoting.Messaging.IMessage msg,
                                             System.Runtime.Remoting.Channels.ITransportHeaders headers)

    Gets request stream

    Parameters:
    msg - Message
    headers - Headers
    Returns:
    Request stream

    InjectHeaders

    private void InjectHeaders(System.Runtime.Remoting.Channels.ITransportHeaders headers)


    ProcessMessage

    public void ProcessMessage(System.Runtime.Remoting.Messaging.IMessage msg,
                               System.Runtime.Remoting.Channels.ITransportHeaders requestHeaders,
                               System.IO.Stream requestStream,
                               System.Runtime.Remoting.Channels.ITransportHeaders responseHeaders,
                               System.IO.Stream responseStream)

    Process a message

    Parameters:
    msg - Message
    requestHeaders - Request headers
    requestStream - Request data stream
    responseHeaders - Response headers
    responseStream - Response data stream