IpSuperTcpClientChannel

Overview

Enhanced TCP based channel which provides a sophisticated and flexible communication channel that uses persistent connections to enable true asynchronous calls and server callbacks.

Location

Implements

 

constructor

 

constructor

 

IpSuperTcpClientChannel()

 

Sub New

constructor (IContainer)

 

constructor(container: IContainer)

 

IpSuperTcpClientChannel(IContainer container)

 

Sub New (container As IContainer)

Parameters:

  • container:

AckWaitTimeout

 

property AckWaitTimeout: Int32 read write;

 

Int32 AckWaitTimeout { get; set; }

 

Property AckWaitTimeout As Int32

Activate  protected

 

method Activate

 

void Activate()

 

Sub Activate

Active

 

property Active: Boolean read write;

 

Boolean Active { get; set; }

 

Property Active As Boolean

add_AfterReceiveStream    (declared in Channel)

 

method add_AfterReceiveStream(value: EventHandler<StreamEventArgs>)

 

void add_AfterReceiveStream(EventHandler<StreamEventArgs> value)

 

Sub add_AfterReceiveStream(value As EventHandler<StreamEventArgs>)

Parameters:

  • value:

add_BeforeSendStream    (declared in Channel)

 

method add_BeforeSendStream(value: EventHandler<StreamEventArgs>)

 

void add_BeforeSendStream(EventHandler<StreamEventArgs> value)

 

Sub add_BeforeSendStream(value As EventHandler<StreamEventArgs>)

Parameters:

  • value:

add_OnConnected

 

method add_OnConnected(value: EventHandler)

 

void add_OnConnected(EventHandler value)

 

Sub add_OnConnected(value As EventHandler)

Parameters:

  • value:

add_OnDisconnected

 

method add_OnDisconnected(value: EventHandler)

 

void add_OnDisconnected(EventHandler value)

 

Sub add_OnDisconnected(value As EventHandler)

Parameters:

  • value:

add_OnException    (declared in ClientChannel)

 

method add_OnException(value: EventHandler<RequestExceptionEventArgs>)

 

void add_OnException(EventHandler<RequestExceptionEventArgs> value)

 

Sub add_OnException(value As EventHandler<RequestExceptionEventArgs>)

Parameters:

  • value:

add_OnLoginNeeded    (declared in ClientChannel)

 

method add_OnLoginNeeded(value: EventHandler<LoginNeededEventArgs>)

 

void add_OnLoginNeeded(EventHandler<LoginNeededEventArgs> value)

 

Sub add_OnLoginNeeded(value As EventHandler<LoginNeededEventArgs>)

Parameters:

  • value:

add_OnTransferEnd    (declared in ClientChannel)

 

method add_OnTransferEnd(value: EventHandler<TransferEndEventArgs>)

 

void add_OnTransferEnd(EventHandler<TransferEndEventArgs> value)

 

Sub add_OnTransferEnd(value As EventHandler<TransferEndEventArgs>)

Parameters:

  • value:

add_OnTransferProgress    (declared in ClientChannel)

 

method add_OnTransferProgress(value: EventHandler<TransferProgressEventArgs>)

 

void add_OnTransferProgress(EventHandler<TransferProgressEventArgs> value)

 

Sub add_OnTransferProgress(value As EventHandler<TransferProgressEventArgs>)

Parameters:

  • value:

add_OnTransferStart    (declared in ClientChannel)

 

method add_OnTransferStart(value: EventHandler<TransferStartEventArgs>)

 

void add_OnTransferStart(EventHandler<TransferStartEventArgs> value)

 

Sub add_OnTransferStart(value As EventHandler<TransferStartEventArgs>)

Parameters:

  • value:

AfterReceiveStream    (declared in Channel)

This event is triggered by client and server channels directly after a request or response stream has been received and before the stream gets parsed into a message. User code can assign handlers to this event to process, inspect or modify incoming messages, before they get handled by the Remoting SDK framework. The passed Stream is a MemoryStream and may be modified.

If no handlers are assigned to the AfterReceiveStream event, the message will load the data directly from the incoming medium (usually the network stream); assigning event handlers to AfterReceiveStream will induce a slight overhead as the data will first be copied into a local memory buffer for the event handler. This should not have any noticeably effect except for very large messages or on resource-limited systems such as Compact Framework Clients, but if utmost performance is important, take this note into consideration.

 

event AfterReceiveStream: EventHandler<StreamEventArgs>;

 

delegate EventHandler<StreamEventArgs> AfterReceiveStream()

 

Event AfterReceiveStream As EventHandler<StreamEventArgs>

AsyncDispatch    (declared in ClientChannel)

 

method AsyncDispatch(message: IMessage; callback: AsyncCallback; userData: Object): IClientAsyncResult

 

IClientAsyncResult AsyncDispatch(IMessage message, AsyncCallback callback, Object userData)

 

Function AsyncDispatch(message As IMessage, callback As AsyncCallback, userData As Object) As IClientAsyncResult

Parameters:

  • message:
  • callback:
  • userData:

AutoReconnect

 

property AutoReconnect: Boolean read write;

 

Boolean AutoReconnect { get; set; }

 

Property AutoReconnect As Boolean

BeforeDispatch  protected

 

method BeforeDispatch(message: IMessage)

 

void BeforeDispatch(IMessage message)

 

Sub BeforeDispatch(message As IMessage)

Parameters:

  • message:

BeforeSendStream    (declared in Channel)

This event is triggered by client and server channels directly before a request or response stream will be sent over the network. User code can assign handlers to this event to process, inspect or modify incoming messages before they get sent out to the remote system.

The passed Stream is a MemoryStream and may be modified.

 

event BeforeSendStream: EventHandler<StreamEventArgs>;

 

delegate EventHandler<StreamEventArgs> BeforeSendStream()

 

Event BeforeSendStream As EventHandler<StreamEventArgs>

BeginDispatch (IMessage, AsyncCallback, Boolean, Object): IClientAsyncResult  protected

 

method BeginDispatch(message: IMessage; callback: AsyncCallback; disposeChannel: Boolean; userData: Object): IClientAsyncResult

 

IClientAsyncResult BeginDispatch(IMessage message, AsyncCallback callback, Boolean disposeChannel, Object userData)

 

Function BeginDispatch(message As IMessage, callback As AsyncCallback, disposeChannel As Boolean, userData As Object) As IClientAsyncResult

Parameters:

  • message:
  • callback:
  • disposeChannel:
  • userData:

BeginDispatch (IMessage, AsyncCallback, Object): IClientAsyncResult    (declared in ClientChannel)

 

method BeginDispatch(message: IMessage; callback: AsyncCallback; userData: Object): IClientAsyncResult

 

IClientAsyncResult BeginDispatch(IMessage message, AsyncCallback callback, Object userData)

 

Function BeginDispatch(message As IMessage, callback As AsyncCallback, userData As Object) As IClientAsyncResult

Parameters:

  • message:
  • callback:
  • userData:

BuildTargetUri  protected    (declared in ClientChannel)

 

class method BuildTargetUri(protocol: String; host: String; port: Int32; message: String): Uri

 

static Uri BuildTargetUri(String protocol, String host, Int32 port, String message)

 

Shared Function BuildTargetUri(protocol As String, host As String, port As Int32, message As String) As Uri

Parameters:

  • protocol:
  • host:
  • port:
  • message:

ChannelMatchingTargetUri (String): IClientChannel    (declared in ClientChannel)

Creates a client channel instance with type, target host and target port matching the provided target Uri. F.e. for provided uri supertcp://192.168.1.100:7020/bin this method will return an instance of the Super Tcp channel with target host set to 192.168.1.100 and port set to 7020.

 

class method ChannelMatchingTargetUri(uri: String): IClientChannel

 

static IClientChannel ChannelMatchingTargetUri(String uri)

 

Shared Function ChannelMatchingTargetUri(uri As String) As IClientChannel

Parameters:

  • uri: Server Uri

ChannelMatchingTargetUri (Uri): IClientChannel    (declared in ClientChannel)

Creates a client channel instance with type, target host and target port matching the provided target Uri. F.e. for provided uri supertcp://192.168.1.100:7020/bin this method will return an instance of the Super Tcp channel with target host set to 192.168.1.100 and port set to 7020.

 

class method ChannelMatchingTargetUri(uri: Uri): IClientChannel

 

static IClientChannel ChannelMatchingTargetUri(Uri uri)

 

Shared Function ChannelMatchingTargetUri(uri As Uri) As IClientChannel

Parameters:

  • uri: Server Uri

CheckChannelStatus  protected

 

method CheckChannelStatus

 

void CheckChannelStatus()

 

Sub CheckChannelStatus

ClientID

 

property ClientID: Guid read write;

 

Guid ClientID { get; set; }

 

Property ClientID As Guid

Clone

 

method Clone: Object

 

Object Clone()

 

Function Clone As Object

Connected

 

property Connected: Boolean read;

 

Boolean Connected { get; }

 

Property ReadOnly Connected As Boolean

ConnectTimeout

 

property ConnectTimeout: Int32 read write;

 

Int32 ConnectTimeout { get; set; }

 

Property ConnectTimeout As Int32

CopyProperties (Channel)  protected    (declared in Channel)

 

method CopyProperties(source: Channel)

 

void CopyProperties(Channel source)

 

Sub CopyProperties(source As Channel)

Parameters:

  • source:

CopyProperties (ClientChannel)  protected

 

method CopyProperties(source: ClientChannel)

 

void CopyProperties(ClientChannel source)

 

Sub CopyProperties(source As ClientChannel)

Parameters:

  • source:

Deactivate  protected

 

method Deactivate

 

void Deactivate()

 

Sub Deactivate

Dispatch    (declared in ClientChannel)

 

method Dispatch(message: IMessage)

 

void Dispatch(IMessage message)

 

Sub Dispatch(message As IMessage)

Parameters:

  • message:

Dispose  protected

 

method Dispose(disposing: Boolean)

 

void Dispose(Boolean disposing)

 

Sub Dispose(disposing As Boolean)

Parameters:

  • disposing:

EndDispatch    (declared in ClientChannel)

 

method EndDispatch(ar: IAsyncResult): IMessage

 

IMessage EndDispatch(IAsyncResult ar)

 

Function EndDispatch(ar As IAsyncResult) As IMessage

Parameters:

  • ar:

EventThreadPool

 

property EventThreadPool: IThreadPool read write;

 

IThreadPool EventThreadPool { get; set; }

 

Property EventThreadPool As IThreadPool

HasAfterReceiveStream  protected    (declared in Channel)

 

property HasAfterReceiveStream: Boolean read;

 

Boolean HasAfterReceiveStream { get; }

 

Property ReadOnly HasAfterReceiveStream As Boolean

HasBeforeSendStream  protected    (declared in Channel)

 

property HasBeforeSendStream: Boolean read;

 

Boolean HasBeforeSendStream { get; }

 

Property ReadOnly HasBeforeSendStream As Boolean

HasOnTransferProgress  protected    (declared in ClientChannel)

 

property HasOnTransferProgress: Boolean read;

 

Boolean HasOnTransferProgress { get; }

 

Property ReadOnly HasOnTransferProgress As Boolean

Hostname

 

property Hostname: String read write;

 

String Hostname { get; set; }

 

Property Hostname As String

IdleTimeoutMinutes

 

property IdleTimeoutMinutes: Int32 read write;

 

Int32 IdleTimeoutMinutes { get; set; }

 

Property IdleTimeoutMinutes As Int32

IncomingData  protected

 

method IncomingData(package: SuperTcpPackage)

 

void IncomingData(SuperTcpPackage package)

 

Sub IncomingData(package As SuperTcpPackage)

Parameters:

  • package:

Initializing  protected

 

property Initializing: Boolean read;

 

Boolean Initializing { get; }

 

Property ReadOnly Initializing As Boolean

IntDispatch  protected

 

method IntDispatch(request: Stream; response: IMessage)

 

void IntDispatch(Stream request, IMessage response)

 

Sub IntDispatch(request As Stream, response As IMessage)

Parameters:

  • request:
  • response:

IsBusy    (declared in ClientChannel)

 

property IsBusy: Boolean read;

 

Boolean IsBusy { get; }

 

Property ReadOnly IsBusy As Boolean

MaxPackageSize

 

property MaxPackageSize: Int32 read write;

 

Int32 MaxPackageSize { get; set; }

 

Property MaxPackageSize As Int32

OnConnected

 

event OnConnected: EventHandler;

 

delegate EventHandler OnConnected()

 

Event OnConnected As EventHandler

OnDisconnected

 

event OnDisconnected: EventHandler;

 

delegate EventHandler OnDisconnected()

 

Event OnDisconnected As EventHandler

OnException    (declared in ClientChannel)

This event is raised if an exception occurs during the execution of a remote request through the channel. The event will be raised both for exceptions originating from the server and for exceptions during communication (such as unavailability of the server). Attach a handler to this event to do custom handling of events without having to reply on explicit try/catch blocks in the calling code.

This event will not be raised for SessionNotFoundExceptions. These will be handled separately by the OnLoginNeeded event.

 

event OnException: EventHandler<RequestExceptionEventArgs>;

 

delegate EventHandler<RequestExceptionEventArgs> OnException()

 

Event OnException As EventHandler<RequestExceptionEventArgs>

OnLoginNeeded    (declared in ClientChannel)

This event is raised if an SessionNotFoundException occurs during the execution of a remote request through the channel. The event gives you the opportunity to perform a login on the server (for example by calling a custom Login method, and then retry the call by setting the EventArgs' LoginSuccessful property to true. This way, your client can recover from a timed-out session to automatically logging in again, without the calling code having to consider the handling of SessionNotFoundExceptions manually.

 

event OnLoginNeeded: EventHandler<LoginNeededEventArgs>;

 

delegate EventHandler<LoginNeededEventArgs> OnLoginNeeded()

 

Event OnLoginNeeded As EventHandler<LoginNeededEventArgs>

OnTransferEnd    (declared in ClientChannel)

This event is triggered by the client channel after a transfer is completed (either the sending of a request or the receiving of a response).

 

event OnTransferEnd: EventHandler<TransferEndEventArgs>;

 

delegate EventHandler<TransferEndEventArgs> OnTransferEnd()

 

Event OnTransferEnd As EventHandler<TransferEndEventArgs>

OnTransferProgress    (declared in ClientChannel)

This event is triggered by the client channel during a transfer (either the sending of a request or the receiving of a response) whenever a new block of data has been sent or received.

 

event OnTransferProgress: EventHandler<TransferProgressEventArgs>;

 

delegate EventHandler<TransferProgressEventArgs> OnTransferProgress()

 

Event OnTransferProgress As EventHandler<TransferProgressEventArgs>

OnTransferStart    (declared in ClientChannel)

This event is triggered by the client channel when a transfer (either the sending of a request or the receiving of a response) is about to be started.

 

event OnTransferStart: EventHandler<TransferStartEventArgs>;

 

delegate EventHandler<TransferStartEventArgs> OnTransferStart()

 

Event OnTransferStart As EventHandler<TransferStartEventArgs>

Port

 

property Port: Int32 read write;

 

Int32 Port { get; set; }

 

Property Port As Int32

ReconnectTimeout

 

property ReconnectTimeout: Int32 read write;

 

Int32 ReconnectTimeout { get; set; }

 

Property ReconnectTimeout As Int32

RegisterEventReceiver

 

method RegisterEventReceiver(receiver: IEventReceiver)

 

void RegisterEventReceiver(IEventReceiver receiver)

 

Sub RegisterEventReceiver(receiver As IEventReceiver)

Parameters:

  • receiver:

remove_AfterReceiveStream    (declared in Channel)

 

method remove_AfterReceiveStream(value: EventHandler<StreamEventArgs>)

 

void remove_AfterReceiveStream(EventHandler<StreamEventArgs> value)

 

Sub remove_AfterReceiveStream(value As EventHandler<StreamEventArgs>)

Parameters:

  • value:

remove_BeforeSendStream    (declared in Channel)

 

method remove_BeforeSendStream(value: EventHandler<StreamEventArgs>)

 

void remove_BeforeSendStream(EventHandler<StreamEventArgs> value)

 

Sub remove_BeforeSendStream(value As EventHandler<StreamEventArgs>)

Parameters:

  • value:

remove_OnConnected

 

method remove_OnConnected(value: EventHandler)

 

void remove_OnConnected(EventHandler value)

 

Sub remove_OnConnected(value As EventHandler)

Parameters:

  • value:

remove_OnDisconnected

 

method remove_OnDisconnected(value: EventHandler)

 

void remove_OnDisconnected(EventHandler value)

 

Sub remove_OnDisconnected(value As EventHandler)

Parameters:

  • value:

remove_OnException    (declared in ClientChannel)

 

method remove_OnException(value: EventHandler<RequestExceptionEventArgs>)

 

void remove_OnException(EventHandler<RequestExceptionEventArgs> value)

 

Sub remove_OnException(value As EventHandler<RequestExceptionEventArgs>)

Parameters:

  • value:

remove_OnLoginNeeded    (declared in ClientChannel)

 

method remove_OnLoginNeeded(value: EventHandler<LoginNeededEventArgs>)

 

void remove_OnLoginNeeded(EventHandler<LoginNeededEventArgs> value)

 

Sub remove_OnLoginNeeded(value As EventHandler<LoginNeededEventArgs>)

Parameters:

  • value:

remove_OnTransferEnd    (declared in ClientChannel)

 

method remove_OnTransferEnd(value: EventHandler<TransferEndEventArgs>)

 

void remove_OnTransferEnd(EventHandler<TransferEndEventArgs> value)

 

Sub remove_OnTransferEnd(value As EventHandler<TransferEndEventArgs>)

Parameters:

  • value:

remove_OnTransferProgress    (declared in ClientChannel)

 

method remove_OnTransferProgress(value: EventHandler<TransferProgressEventArgs>)

 

void remove_OnTransferProgress(EventHandler<TransferProgressEventArgs> value)

 

Sub remove_OnTransferProgress(value As EventHandler<TransferProgressEventArgs>)

Parameters:

  • value:

remove_OnTransferStart    (declared in ClientChannel)

 

method remove_OnTransferStart(value: EventHandler<TransferStartEventArgs>)

 

void remove_OnTransferStart(EventHandler<TransferStartEventArgs> value)

 

Sub remove_OnTransferStart(value As EventHandler<TransferStartEventArgs>)

Parameters:

  • value:

RequestTimeout

 

property RequestTimeout: Int32 read write;

 

Int32 RequestTimeout { get; set; }

 

Property RequestTimeout As Int32

SkipAck

 

property SkipAck: Boolean read write;

 

Boolean SkipAck { get; set; }

 

Property SkipAck As Boolean

SslOptions

 

property SslOptions: SslConnectionFactory read;

 

SslConnectionFactory SslOptions { get; }

 

Property ReadOnly SslOptions As SslConnectionFactory

TargetUri

 

property TargetUri: Uri read write;

 

Uri TargetUri { get; set; }

 

Property TargetUri As Uri

TargetUrl    (declared in ClientChannel)

 

property TargetUrl: String read write;

 

String TargetUrl { get; set; }

 

Property TargetUrl As String

TcpClient

 

property TcpClient: TcpClient read;

 

TcpClient TcpClient { get; }

 

Property ReadOnly TcpClient As TcpClient

TriggerAfterReceiveStream  protected    (declared in Channel)

 

method TriggerAfterReceiveStream(var stream: Stream)

 

void TriggerAfterReceiveStream(ref Stream stream)

 

Sub TriggerAfterReceiveStream(ByRef stream As Stream)

Parameters:

  • stream:

TriggerBeforeSendStream  protected    (declared in Channel)

 

method TriggerBeforeSendStream(var stream: Stream)

 

void TriggerBeforeSendStream(ref Stream stream)

 

Sub TriggerBeforeSendStream(ByRef stream As Stream)

Parameters:

  • stream:

TriggerConnected  protected

 

method TriggerConnected

 

void TriggerConnected()

 

Sub TriggerConnected

TriggerDisconnected  protected

 

method TriggerDisconnected

 

void TriggerDisconnected()

 

Sub TriggerDisconnected

TriggerOnException  protected    (declared in ClientChannel)

 

method TriggerOnException(exception: Exception; out handled: Boolean)

 

void TriggerOnException(Exception exception, out Boolean handled)

 

Sub TriggerOnException(exception As Exception, <OutAttribute> ByRef handled As Boolean)

Parameters:

  • exception:
  • handled:

TriggerOnLoginNeeded  protected    (declared in ClientChannel)

 

method TriggerOnLoginNeeded(exception: Exception; out loginSuccessful: Boolean)

 

void TriggerOnLoginNeeded(Exception exception, out Boolean loginSuccessful)

 

Sub TriggerOnLoginNeeded(exception As Exception, <OutAttribute> ByRef loginSuccessful As Boolean)

Parameters:

  • exception:
  • loginSuccessful:

TriggerOnTransferEnd  protected    (declared in ClientChannel)

 

method TriggerOnTransferEnd(direction: TransferDirection)

 

void TriggerOnTransferEnd(TransferDirection direction)

 

Sub TriggerOnTransferEnd(direction As TransferDirection)

Parameters:

  • direction:

TriggerOnTransferProgress  protected    (declared in ClientChannel)

 

method TriggerOnTransferProgress(direction: TransferDirection; current: Int64)

 

void TriggerOnTransferProgress(TransferDirection direction, Int64 current)

 

Sub TriggerOnTransferProgress(direction As TransferDirection, current As Int64)

Parameters:

  • direction:
  • current:

TriggerOnTransferStart  protected    (declared in ClientChannel)

 

method TriggerOnTransferStart(direction: TransferDirection; total: Int64)

 

void TriggerOnTransferStart(TransferDirection direction, Int64 total)

 

Sub TriggerOnTransferStart(direction As TransferDirection, total As Int64)

Parameters:

  • direction:
  • total:

UnregisterEventReceiver

 

method UnregisterEventReceiver(receiver: IEventReceiver)

 

void UnregisterEventReceiver(IEventReceiver receiver)

 

Sub UnregisterEventReceiver(receiver As IEventReceiver)

Parameters:

  • receiver:

UseEventThreadPool

 

property UseEventThreadPool: Boolean read write;

 

Boolean UseEventThreadPool { get; set; }

 

Property UseEventThreadPool As Boolean

 

AckWaitTimeout

 

property AckWaitTimeout: Int32 read write;

 

Int32 AckWaitTimeout { get; set; }

 

Property AckWaitTimeout As Int32

Active

 

property Active: Boolean read write;

 

Boolean Active { get; set; }

 

Property Active As Boolean

AutoReconnect

 

property AutoReconnect: Boolean read write;

 

Boolean AutoReconnect { get; set; }

 

Property AutoReconnect As Boolean

ClientID

 

property ClientID: Guid read write;

 

Guid ClientID { get; set; }

 

Property ClientID As Guid

Connected

 

property Connected: Boolean read;

 

Boolean Connected { get; }

 

Property ReadOnly Connected As Boolean

ConnectTimeout

 

property ConnectTimeout: Int32 read write;

 

Int32 ConnectTimeout { get; set; }

 

Property ConnectTimeout As Int32

EventThreadPool

 

property EventThreadPool: IThreadPool read write;

 

IThreadPool EventThreadPool { get; set; }

 

Property EventThreadPool As IThreadPool

HasAfterReceiveStream  protected    (declared in Channel)

 

property HasAfterReceiveStream: Boolean read;

 

Boolean HasAfterReceiveStream { get; }

 

Property ReadOnly HasAfterReceiveStream As Boolean

HasBeforeSendStream  protected    (declared in Channel)

 

property HasBeforeSendStream: Boolean read;

 

Boolean HasBeforeSendStream { get; }

 

Property ReadOnly HasBeforeSendStream As Boolean

HasOnTransferProgress  protected    (declared in ClientChannel)

 

property HasOnTransferProgress: Boolean read;

 

Boolean HasOnTransferProgress { get; }

 

Property ReadOnly HasOnTransferProgress As Boolean

Hostname

 

property Hostname: String read write;

 

String Hostname { get; set; }

 

Property Hostname As String

IdleTimeoutMinutes

 

property IdleTimeoutMinutes: Int32 read write;

 

Int32 IdleTimeoutMinutes { get; set; }

 

Property IdleTimeoutMinutes As Int32

Initializing  protected

 

property Initializing: Boolean read;

 

Boolean Initializing { get; }

 

Property ReadOnly Initializing As Boolean

IsBusy    (declared in ClientChannel)

 

property IsBusy: Boolean read;

 

Boolean IsBusy { get; }

 

Property ReadOnly IsBusy As Boolean

MaxPackageSize

 

property MaxPackageSize: Int32 read write;

 

Int32 MaxPackageSize { get; set; }

 

Property MaxPackageSize As Int32

Port

 

property Port: Int32 read write;

 

Int32 Port { get; set; }

 

Property Port As Int32

ReconnectTimeout

 

property ReconnectTimeout: Int32 read write;

 

Int32 ReconnectTimeout { get; set; }

 

Property ReconnectTimeout As Int32

RequestTimeout

 

property RequestTimeout: Int32 read write;

 

Int32 RequestTimeout { get; set; }

 

Property RequestTimeout As Int32

SkipAck

 

property SkipAck: Boolean read write;

 

Boolean SkipAck { get; set; }

 

Property SkipAck As Boolean

SslOptions

 

property SslOptions: SslConnectionFactory read;

 

SslConnectionFactory SslOptions { get; }

 

Property ReadOnly SslOptions As SslConnectionFactory

TargetUri

 

property TargetUri: Uri read write;

 

Uri TargetUri { get; set; }

 

Property TargetUri As Uri

TargetUrl    (declared in ClientChannel)

 

property TargetUrl: String read write;

 

String TargetUrl { get; set; }

 

Property TargetUrl As String

TcpClient

 

property TcpClient: TcpClient read;

 

TcpClient TcpClient { get; }

 

Property ReadOnly TcpClient As TcpClient

UseEventThreadPool

 

property UseEventThreadPool: Boolean read write;

 

Boolean UseEventThreadPool { get; set; }

 

Property UseEventThreadPool As Boolean

 

BuildTargetUri  protected    (declared in ClientChannel)

 

class method BuildTargetUri(protocol: String; host: String; port: Int32; message: String): Uri

 

static Uri BuildTargetUri(String protocol, String host, Int32 port, String message)

 

Shared Function BuildTargetUri(protocol As String, host As String, port As Int32, message As String) As Uri

Parameters:

  • protocol:
  • host:
  • port:
  • message:

ChannelMatchingTargetUri (String): IClientChannel    (declared in ClientChannel)

Creates a client channel instance with type, target host and target port matching the provided target Uri. F.e. for provided uri supertcp://192.168.1.100:7020/bin this method will return an instance of the Super Tcp channel with target host set to 192.168.1.100 and port set to 7020.

 

class method ChannelMatchingTargetUri(uri: String): IClientChannel

 

static IClientChannel ChannelMatchingTargetUri(String uri)

 

Shared Function ChannelMatchingTargetUri(uri As String) As IClientChannel

Parameters:

  • uri: Server Uri

ChannelMatchingTargetUri (Uri): IClientChannel    (declared in ClientChannel)

Creates a client channel instance with type, target host and target port matching the provided target Uri. F.e. for provided uri supertcp://192.168.1.100:7020/bin this method will return an instance of the Super Tcp channel with target host set to 192.168.1.100 and port set to 7020.

 

class method ChannelMatchingTargetUri(uri: Uri): IClientChannel

 

static IClientChannel ChannelMatchingTargetUri(Uri uri)

 

Shared Function ChannelMatchingTargetUri(uri As Uri) As IClientChannel

Parameters:

  • uri: Server Uri

 

constructor

 

constructor

 

IpSuperTcpClientChannel()

 

Sub New

constructor (IContainer)

 

constructor(container: IContainer)

 

IpSuperTcpClientChannel(IContainer container)

 

Sub New (container As IContainer)

Parameters:

  • container:

Activate  protected

 

method Activate

 

void Activate()

 

Sub Activate

add_AfterReceiveStream    (declared in Channel)

 

method add_AfterReceiveStream(value: EventHandler<StreamEventArgs>)

 

void add_AfterReceiveStream(EventHandler<StreamEventArgs> value)

 

Sub add_AfterReceiveStream(value As EventHandler<StreamEventArgs>)

Parameters:

  • value:

add_BeforeSendStream    (declared in Channel)

 

method add_BeforeSendStream(value: EventHandler<StreamEventArgs>)

 

void add_BeforeSendStream(EventHandler<StreamEventArgs> value)

 

Sub add_BeforeSendStream(value As EventHandler<StreamEventArgs>)

Parameters:

  • value:

add_OnConnected

 

method add_OnConnected(value: EventHandler)

 

void add_OnConnected(EventHandler value)

 

Sub add_OnConnected(value As EventHandler)

Parameters:

  • value:

add_OnDisconnected

 

method add_OnDisconnected(value: EventHandler)

 

void add_OnDisconnected(EventHandler value)

 

Sub add_OnDisconnected(value As EventHandler)

Parameters:

  • value:

add_OnException    (declared in ClientChannel)

 

method add_OnException(value: EventHandler<RequestExceptionEventArgs>)

 

void add_OnException(EventHandler<RequestExceptionEventArgs> value)

 

Sub add_OnException(value As EventHandler<RequestExceptionEventArgs>)

Parameters:

  • value:

add_OnLoginNeeded    (declared in ClientChannel)

 

method add_OnLoginNeeded(value: EventHandler<LoginNeededEventArgs>)

 

void add_OnLoginNeeded(EventHandler<LoginNeededEventArgs> value)

 

Sub add_OnLoginNeeded(value As EventHandler<LoginNeededEventArgs>)

Parameters:

  • value:

add_OnTransferEnd    (declared in ClientChannel)

 

method add_OnTransferEnd(value: EventHandler<TransferEndEventArgs>)

 

void add_OnTransferEnd(EventHandler<TransferEndEventArgs> value)

 

Sub add_OnTransferEnd(value As EventHandler<TransferEndEventArgs>)

Parameters:

  • value:

add_OnTransferProgress    (declared in ClientChannel)

 

method add_OnTransferProgress(value: EventHandler<TransferProgressEventArgs>)

 

void add_OnTransferProgress(EventHandler<TransferProgressEventArgs> value)

 

Sub add_OnTransferProgress(value As EventHandler<TransferProgressEventArgs>)

Parameters:

  • value:

add_OnTransferStart    (declared in ClientChannel)

 

method add_OnTransferStart(value: EventHandler<TransferStartEventArgs>)

 

void add_OnTransferStart(EventHandler<TransferStartEventArgs> value)

 

Sub add_OnTransferStart(value As EventHandler<TransferStartEventArgs>)

Parameters:

  • value:

AsyncDispatch    (declared in ClientChannel)

 

method AsyncDispatch(message: IMessage; callback: AsyncCallback; userData: Object): IClientAsyncResult

 

IClientAsyncResult AsyncDispatch(IMessage message, AsyncCallback callback, Object userData)

 

Function AsyncDispatch(message As IMessage, callback As AsyncCallback, userData As Object) As IClientAsyncResult

Parameters:

  • message:
  • callback:
  • userData:

BeforeDispatch  protected

 

method BeforeDispatch(message: IMessage)

 

void BeforeDispatch(IMessage message)

 

Sub BeforeDispatch(message As IMessage)

Parameters:

  • message:

BeginDispatch (IMessage, AsyncCallback, Boolean, Object): IClientAsyncResult  protected

 

method BeginDispatch(message: IMessage; callback: AsyncCallback; disposeChannel: Boolean; userData: Object): IClientAsyncResult

 

IClientAsyncResult BeginDispatch(IMessage message, AsyncCallback callback, Boolean disposeChannel, Object userData)

 

Function BeginDispatch(message As IMessage, callback As AsyncCallback, disposeChannel As Boolean, userData As Object) As IClientAsyncResult

Parameters:

  • message:
  • callback:
  • disposeChannel:
  • userData:

BeginDispatch (IMessage, AsyncCallback, Object): IClientAsyncResult    (declared in ClientChannel)

 

method BeginDispatch(message: IMessage; callback: AsyncCallback; userData: Object): IClientAsyncResult

 

IClientAsyncResult BeginDispatch(IMessage message, AsyncCallback callback, Object userData)

 

Function BeginDispatch(message As IMessage, callback As AsyncCallback, userData As Object) As IClientAsyncResult

Parameters:

  • message:
  • callback:
  • userData:

CheckChannelStatus  protected

 

method CheckChannelStatus

 

void CheckChannelStatus()

 

Sub CheckChannelStatus

Clone

 

method Clone: Object

 

Object Clone()

 

Function Clone As Object

CopyProperties (Channel)  protected    (declared in Channel)

 

method CopyProperties(source: Channel)

 

void CopyProperties(Channel source)

 

Sub CopyProperties(source As Channel)

Parameters:

  • source:

CopyProperties (ClientChannel)  protected

 

method CopyProperties(source: ClientChannel)

 

void CopyProperties(ClientChannel source)

 

Sub CopyProperties(source As ClientChannel)

Parameters:

  • source:

Deactivate  protected

 

method Deactivate

 

void Deactivate()

 

Sub Deactivate

Dispatch    (declared in ClientChannel)

 

method Dispatch(message: IMessage)

 

void Dispatch(IMessage message)

 

Sub Dispatch(message As IMessage)

Parameters:

  • message:

Dispose  protected

 

method Dispose(disposing: Boolean)

 

void Dispose(Boolean disposing)

 

Sub Dispose(disposing As Boolean)

Parameters:

  • disposing:

EndDispatch    (declared in ClientChannel)

 

method EndDispatch(ar: IAsyncResult): IMessage

 

IMessage EndDispatch(IAsyncResult ar)

 

Function EndDispatch(ar As IAsyncResult) As IMessage

Parameters:

  • ar:

IncomingData  protected

 

method IncomingData(package: SuperTcpPackage)

 

void IncomingData(SuperTcpPackage package)

 

Sub IncomingData(package As SuperTcpPackage)

Parameters:

  • package:

IntDispatch  protected

 

method IntDispatch(request: Stream; response: IMessage)

 

void IntDispatch(Stream request, IMessage response)

 

Sub IntDispatch(request As Stream, response As IMessage)

Parameters:

  • request:
  • response:

RegisterEventReceiver

 

method RegisterEventReceiver(receiver: IEventReceiver)

 

void RegisterEventReceiver(IEventReceiver receiver)

 

Sub RegisterEventReceiver(receiver As IEventReceiver)

Parameters:

  • receiver:

remove_AfterReceiveStream    (declared in Channel)

 

method remove_AfterReceiveStream(value: EventHandler<StreamEventArgs>)

 

void remove_AfterReceiveStream(EventHandler<StreamEventArgs> value)

 

Sub remove_AfterReceiveStream(value As EventHandler<StreamEventArgs>)

Parameters:

  • value:

remove_BeforeSendStream    (declared in Channel)

 

method remove_BeforeSendStream(value: EventHandler<StreamEventArgs>)

 

void remove_BeforeSendStream(EventHandler<StreamEventArgs> value)

 

Sub remove_BeforeSendStream(value As EventHandler<StreamEventArgs>)

Parameters:

  • value:

remove_OnConnected

 

method remove_OnConnected(value: EventHandler)

 

void remove_OnConnected(EventHandler value)

 

Sub remove_OnConnected(value As EventHandler)

Parameters:

  • value:

remove_OnDisconnected

 

method remove_OnDisconnected(value: EventHandler)

 

void remove_OnDisconnected(EventHandler value)

 

Sub remove_OnDisconnected(value As EventHandler)

Parameters:

  • value:

remove_OnException    (declared in ClientChannel)

 

method remove_OnException(value: EventHandler<RequestExceptionEventArgs>)

 

void remove_OnException(EventHandler<RequestExceptionEventArgs> value)

 

Sub remove_OnException(value As EventHandler<RequestExceptionEventArgs>)

Parameters:

  • value:

remove_OnLoginNeeded    (declared in ClientChannel)

 

method remove_OnLoginNeeded(value: EventHandler<LoginNeededEventArgs>)

 

void remove_OnLoginNeeded(EventHandler<LoginNeededEventArgs> value)

 

Sub remove_OnLoginNeeded(value As EventHandler<LoginNeededEventArgs>)

Parameters:

  • value:

remove_OnTransferEnd    (declared in ClientChannel)

 

method remove_OnTransferEnd(value: EventHandler<TransferEndEventArgs>)

 

void remove_OnTransferEnd(EventHandler<TransferEndEventArgs> value)

 

Sub remove_OnTransferEnd(value As EventHandler<TransferEndEventArgs>)

Parameters:

  • value:

remove_OnTransferProgress    (declared in ClientChannel)

 

method remove_OnTransferProgress(value: EventHandler<TransferProgressEventArgs>)

 

void remove_OnTransferProgress(EventHandler<TransferProgressEventArgs> value)

 

Sub remove_OnTransferProgress(value As EventHandler<TransferProgressEventArgs>)

Parameters:

  • value:

remove_OnTransferStart    (declared in ClientChannel)

 

method remove_OnTransferStart(value: EventHandler<TransferStartEventArgs>)

 

void remove_OnTransferStart(EventHandler<TransferStartEventArgs> value)

 

Sub remove_OnTransferStart(value As EventHandler<TransferStartEventArgs>)

Parameters:

  • value:

TriggerAfterReceiveStream  protected    (declared in Channel)

 

method TriggerAfterReceiveStream(var stream: Stream)

 

void TriggerAfterReceiveStream(ref Stream stream)

 

Sub TriggerAfterReceiveStream(ByRef stream As Stream)

Parameters:

  • stream:

TriggerBeforeSendStream  protected    (declared in Channel)

 

method TriggerBeforeSendStream(var stream: Stream)

 

void TriggerBeforeSendStream(ref Stream stream)

 

Sub TriggerBeforeSendStream(ByRef stream As Stream)

Parameters:

  • stream:

TriggerConnected  protected

 

method TriggerConnected

 

void TriggerConnected()

 

Sub TriggerConnected

TriggerDisconnected  protected

 

method TriggerDisconnected

 

void TriggerDisconnected()

 

Sub TriggerDisconnected

TriggerOnException  protected    (declared in ClientChannel)

 

method TriggerOnException(exception: Exception; out handled: Boolean)

 

void TriggerOnException(Exception exception, out Boolean handled)

 

Sub TriggerOnException(exception As Exception, <OutAttribute> ByRef handled As Boolean)

Parameters:

  • exception:
  • handled:

TriggerOnLoginNeeded  protected    (declared in ClientChannel)

 

method TriggerOnLoginNeeded(exception: Exception; out loginSuccessful: Boolean)

 

void TriggerOnLoginNeeded(Exception exception, out Boolean loginSuccessful)

 

Sub TriggerOnLoginNeeded(exception As Exception, <OutAttribute> ByRef loginSuccessful As Boolean)

Parameters:

  • exception:
  • loginSuccessful:

TriggerOnTransferEnd  protected    (declared in ClientChannel)

 

method TriggerOnTransferEnd(direction: TransferDirection)

 

void TriggerOnTransferEnd(TransferDirection direction)

 

Sub TriggerOnTransferEnd(direction As TransferDirection)

Parameters:

  • direction:

TriggerOnTransferProgress  protected    (declared in ClientChannel)

 

method TriggerOnTransferProgress(direction: TransferDirection; current: Int64)

 

void TriggerOnTransferProgress(TransferDirection direction, Int64 current)

 

Sub TriggerOnTransferProgress(direction As TransferDirection, current As Int64)

Parameters:

  • direction:
  • current:

TriggerOnTransferStart  protected    (declared in ClientChannel)

 

method TriggerOnTransferStart(direction: TransferDirection; total: Int64)

 

void TriggerOnTransferStart(TransferDirection direction, Int64 total)

 

Sub TriggerOnTransferStart(direction As TransferDirection, total As Int64)

Parameters:

  • direction:
  • total:

UnregisterEventReceiver

 

method UnregisterEventReceiver(receiver: IEventReceiver)

 

void UnregisterEventReceiver(IEventReceiver receiver)

 

Sub UnregisterEventReceiver(receiver As IEventReceiver)

Parameters:

  • receiver:

 

AfterReceiveStream    (declared in Channel)

This event is triggered by client and server channels directly after a request or response stream has been received and before the stream gets parsed into a message. User code can assign handlers to this event to process, inspect or modify incoming messages, before they get handled by the Remoting SDK framework. The passed Stream is a MemoryStream and may be modified.

If no handlers are assigned to the AfterReceiveStream event, the message will load the data directly from the incoming medium (usually the network stream); assigning event handlers to AfterReceiveStream will induce a slight overhead as the data will first be copied into a local memory buffer for the event handler. This should not have any noticeably effect except for very large messages or on resource-limited systems such as Compact Framework Clients, but if utmost performance is important, take this note into consideration.

 

event AfterReceiveStream: EventHandler<StreamEventArgs>;

 

delegate EventHandler<StreamEventArgs> AfterReceiveStream()

 

Event AfterReceiveStream As EventHandler<StreamEventArgs>

BeforeSendStream    (declared in Channel)

This event is triggered by client and server channels directly before a request or response stream will be sent over the network. User code can assign handlers to this event to process, inspect or modify incoming messages before they get sent out to the remote system.

The passed Stream is a MemoryStream and may be modified.

 

event BeforeSendStream: EventHandler<StreamEventArgs>;

 

delegate EventHandler<StreamEventArgs> BeforeSendStream()

 

Event BeforeSendStream As EventHandler<StreamEventArgs>

OnConnected

 

event OnConnected: EventHandler;

 

delegate EventHandler OnConnected()

 

Event OnConnected As EventHandler

OnDisconnected

 

event OnDisconnected: EventHandler;

 

delegate EventHandler OnDisconnected()

 

Event OnDisconnected As EventHandler

OnException    (declared in ClientChannel)

This event is raised if an exception occurs during the execution of a remote request through the channel. The event will be raised both for exceptions originating from the server and for exceptions during communication (such as unavailability of the server). Attach a handler to this event to do custom handling of events without having to reply on explicit try/catch blocks in the calling code.

This event will not be raised for SessionNotFoundExceptions. These will be handled separately by the OnLoginNeeded event.

 

event OnException: EventHandler<RequestExceptionEventArgs>;

 

delegate EventHandler<RequestExceptionEventArgs> OnException()

 

Event OnException As EventHandler<RequestExceptionEventArgs>

OnLoginNeeded    (declared in ClientChannel)

This event is raised if an SessionNotFoundException occurs during the execution of a remote request through the channel. The event gives you the opportunity to perform a login on the server (for example by calling a custom Login method, and then retry the call by setting the EventArgs' LoginSuccessful property to true. This way, your client can recover from a timed-out session to automatically logging in again, without the calling code having to consider the handling of SessionNotFoundExceptions manually.

 

event OnLoginNeeded: EventHandler<LoginNeededEventArgs>;

 

delegate EventHandler<LoginNeededEventArgs> OnLoginNeeded()

 

Event OnLoginNeeded As EventHandler<LoginNeededEventArgs>

OnTransferEnd    (declared in ClientChannel)

This event is triggered by the client channel after a transfer is completed (either the sending of a request or the receiving of a response).

 

event OnTransferEnd: EventHandler<TransferEndEventArgs>;

 

delegate EventHandler<TransferEndEventArgs> OnTransferEnd()

 

Event OnTransferEnd As EventHandler<TransferEndEventArgs>

OnTransferProgress    (declared in ClientChannel)

This event is triggered by the client channel during a transfer (either the sending of a request or the receiving of a response) whenever a new block of data has been sent or received.

 

event OnTransferProgress: EventHandler<TransferProgressEventArgs>;

 

delegate EventHandler<TransferProgressEventArgs> OnTransferProgress()

 

Event OnTransferProgress As EventHandler<TransferProgressEventArgs>

OnTransferStart    (declared in ClientChannel)

This event is triggered by the client channel when a transfer (either the sending of a request or the receiving of a response) is about to be started.

 

event OnTransferStart: EventHandler<TransferStartEventArgs>;

 

delegate EventHandler<TransferStartEventArgs> OnTransferStart()

 

Event OnTransferStart As EventHandler<TransferStartEventArgs>