IpSuperHttpClientChannel

Overview

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

Location


 

constructor

 

constructor

 

IpSuperHttpClientChannel()

 

init()

 

Sub New()

constructor (IContainer) .NET Framework

 

constructor(container: IContainer)

 

IpSuperHttpClientChannel(IContainer container)

 

init(_ container: IContainer)

 

Sub New(container As IContainer)

Parameters:

  • container:

constructor (SuperHttpClientChannelWorker)  protected    (declared in SuperHttpClientChannel)

 

constructor(worker: SuperHttpClientChannelWorker)

 

IpSuperHttpClientChannel(SuperHttpClientChannelWorker worker)

 

init(_ worker: SuperHttpClientChannelWorker)

 

Sub New(worker As SuperHttpClientChannelWorker)

Parameters:

  • worker:

Active    (declared in SuperHttpClientChannel)

Determines if the channel is currently active, i.e. has an open connection to the server, or is in the process of (re-)establishing a connection (true) or not (false).

 

property Active: Boolean read write;

 

Boolean Active { get; set; }

 

var Active: Boolean { get{} set{} }

 

Property Active() As Boolean

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 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)

 

func AsyncDispatch(_ message: IMessage, _ callback: AsyncCallback, _ userData: Object) -> IClientAsyncResult

 

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

Parameters:

  • message:
  • callback:
  • userData:

BeforeDispatch  protected    (declared in SuperHttpClientChannel)

 

method BeforeDispatch(message: IMessage)

 

void BeforeDispatch(IMessage message)

 

func BeforeDispatch(_ message: IMessage)

 

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 EventHandler<StreamEventArgs>: BeforeSendStream!

 

Event BeforeSendStream As EventHandler<StreamEventArgs>

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

 

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

 

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

 

func BeginDispatch(_ message: IMessage, _ callback: AsyncCallback, _ disposeChannel: Boolean, _ userData: Object) -> IClientAsyncResult

 

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)

 

func BeginDispatch(_ message: IMessage, _ callback: AsyncCallback, _ userData: Object) -> IClientAsyncResult

 

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)

 

static func BuildTargetUri(_ protocol: String, _ host: String, _ port: Int32, _ message: String) -> Uri

 

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)

 

static func ChannelMatchingTargetUri(_ uri: String) -> IClientChannel

 

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)

 

static func ChannelMatchingTargetUri(_ uri: Uri) -> IClientChannel

 

Shared Function ChannelMatchingTargetUri(uri As Uri) As IClientChannel

Parameters:

  • uri: Server Uri

CheckChannelStatus  protected    (declared in SuperHttpClientChannel)

 

method CheckChannelStatus

 

void CheckChannelStatus()

 

func CheckChannelStatus()

 

Sub CheckChannelStatus()

ClientID    (declared in SuperHttpClientChannel)

 

property ClientID: Guid read write;

 

Guid ClientID { get; set; }

 

var ClientID: Guid { get{} set{} }

 

Property ClientID() As Guid

Clone

 

method Clone: Object

 

Object Clone()

 

func Clone() -> Object

 

Function Clone() As Object

Connected    (declared in SuperHttpClientChannel)

Indicates if there is an open connection to the server.

 

property Connected: Boolean read;

 

Boolean Connected { get; }

 

var Connected: Boolean { get{} }

 

ReadOnly Property Connected() As Boolean

ConnectTimeout    (declared in SuperHttpClientChannel)

Timeout in milliseconds after which this SuperHttpClientChannel will abort trying to connect to the server. This ensures that for unresponsive servers, the client will not hang indefinitely trying to establish a connection to the server.

The default value is 10000 (i.e. 10 seconds).

 

[DefaultValue(10000)]
property ConnectTimeout: Int32 read write;

 

[DefaultValue(10000)]
Int32 ConnectTimeout { get; set; }

 

@DefaultValue(10000)
var ConnectTimeout: Int32 { get{} set{} }

 

<DefaultValue(10000)>
Property ConnectTimeout() As Int32

CopyProperties (Channel)  protected    (declared in Channel)

 

method CopyProperties(source: Channel)

 

void CopyProperties(Channel source)

 

func CopyProperties(_ source: Channel)

 

Sub CopyProperties(source As Channel)

Parameters:

  • source:

CopyProperties (ClientChannel)  protected

 

method CopyProperties(source: ClientChannel)

 

void CopyProperties(ClientChannel source)

 

func CopyProperties(_ source: ClientChannel)

 

Sub CopyProperties(source As ClientChannel)

Parameters:

  • source:

Dispatch    (declared in ClientChannel)

The implementation of IClientChannel.Dispatch. This method ensures the transport is not busy before calling IntDispatch and passing the given IMessage. If the transport is busy, a ChannelBusyException is thrown.

 

method Dispatch(message: IMessage)

 

void Dispatch(IMessage message)

 

func Dispatch(_ message: IMessage)

 

Sub Dispatch(message As IMessage)

Parameters:

  • message:

Dispose    (declared in Channel) .NET Core, .NET Standard

 

method Dispose

 

void Dispose()

 

func Dispose()

 

Sub Dispose()

Dispose (Boolean)  protected    (declared in SuperHttpClientChannel)

 

method Dispose(disposing: Boolean)

 

void Dispose(Boolean disposing)

 

func Dispose(_ disposing: Boolean)

 

Sub Dispose(disposing As Boolean)

Parameters:

  • disposing:

EndDispatch    (declared in ClientChannel)

 

method EndDispatch(ar: IAsyncResult): IMessage

 

IMessage EndDispatch(IAsyncResult ar)

 

func EndDispatch(_ ar: IAsyncResult) -> IMessage

 

Function EndDispatch(ar As IAsyncResult) As IMessage

Parameters:

  • ar:

EventThreadPool    (declared in SuperHttpClientChannel)

 

property EventThreadPool: IThreadPool read write;

 

IThreadPool EventThreadPool { get; set; }

 

var EventThreadPool: IThreadPool { get{} set{} }

 

Property EventThreadPool() As IThreadPool

Finalize  protected    (declared in SuperHttpClientChannel)

 

method Finalize

 

void Finalize()

 

func Finalize()

 

Sub Finalize()

HasAfterReceiveStream  protected    (declared in Channel)

 

property HasAfterReceiveStream: Boolean read;

 

Boolean HasAfterReceiveStream { get; }

 

var HasAfterReceiveStream: Boolean { get{} }

 

ReadOnly Property HasAfterReceiveStream() As Boolean

HasBeforeSendStream  protected    (declared in Channel)

 

property HasBeforeSendStream: Boolean read;

 

Boolean HasBeforeSendStream { get; }

 

var HasBeforeSendStream: Boolean { get{} }

 

ReadOnly Property HasBeforeSendStream() As Boolean

HasOnTransferProgress  protected    (declared in ClientChannel)

 

property HasOnTransferProgress: Boolean read;

 

Boolean HasOnTransferProgress { get; }

 

var HasOnTransferProgress: Boolean { get{} }

 

ReadOnly Property HasOnTransferProgress() As Boolean

HttpTimeout    (declared in SuperHttpClientChannel)

The timeout, in milliseconds, after which the client channel will abort the request. This ensures that for unresponsive servers, the client will not hang indefinitely waiting for a reply.

The default value is 10000 (i.e. 10 seconds).

 

[DefaultValue(10000)]
property HttpTimeout: Int32 read write;

 

[DefaultValue(10000)]
Int32 HttpTimeout { get; set; }

 

@DefaultValue(10000)
var HttpTimeout: Int32 { get{} set{} }

 

<DefaultValue(10000)>
Property HttpTimeout() As Int32

IntDispatch  protected    (declared in SuperHttpClientChannel)

 

method IntDispatch(request: Stream; response: IMessage)

 

void IntDispatch(Stream request, IMessage response)

 

func IntDispatch(_ request: Stream, _ response: IMessage)

 

Sub IntDispatch(request As Stream, response As IMessage)

Parameters:

  • request:
  • response:

IsBusy    (declared in ClientChannel)

 

property IsBusy: Boolean read;

 

Boolean IsBusy { get; }

 

var IsBusy: Boolean { get{} }

 

ReadOnly Property IsBusy() As Boolean

MaxPackageSize    (declared in SuperHttpClientChannel)

The maximum size of data package that the channel can send or receive.

 

[DefaultValue(10485760)]
property MaxPackageSize: Int32 read write;

 

[DefaultValue(10485760)]
Int32 MaxPackageSize { get; set; }

 

@DefaultValue(10485760)
var MaxPackageSize: Int32 { get{} set{} }

 

<DefaultValue(10485760)>
Property MaxPackageSize() As Int32

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 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 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 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 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 EventHandler<TransferStartEventArgs>: OnTransferStart!

 

Event OnTransferStart As EventHandler<TransferStartEventArgs>

ProxySettings

 

property ProxySettings: HttpProxySettings read;

 

HttpProxySettings ProxySettings { get; }

 

var ProxySettings: HttpProxySettings { get{} }

 

ReadOnly Property ProxySettings() As HttpProxySettings

RegisterEventReceiver    (declared in SuperHttpClientChannel)

This method is used by the EventReceiver class to add this component to the internal event receiver list.

 

method RegisterEventReceiver(receiver: IEventReceiver)

 

void RegisterEventReceiver(IEventReceiver receiver)

 

func RegisterEventReceiver(_ receiver: IEventReceiver)

 

Sub RegisterEventReceiver(receiver As IEventReceiver)

Parameters:

  • receiver:

RequestTimeout    (declared in SuperHttpClientChannel)

The timeout, in milliseconds, after which the SuperHTTP client channel will abort the request. This ensures that for unresponsive servers, the client will not hang indefinitely waiting for a reply.

The default value is 60000 (i.e. 1 minute).

 

[DefaultValue(60000)]
property RequestTimeout: Int32 read write;

 

[DefaultValue(60000)]
Int32 RequestTimeout { get; set; }

 

@DefaultValue(60000)
var RequestTimeout: Int32 { get{} set{} }

 

<DefaultValue(60000)>
Property RequestTimeout() As Int32

RetrieveRodl    (declared in SuperHttpClientChannel) .NET Core, .NET Framework, .NET Standard

 

method RetrieveRodl: RodlLibrary

 

RodlLibrary RetrieveRodl()

 

func RetrieveRodl() -> RodlLibrary

 

Function RetrieveRodl() As RodlLibrary

SslOptions .NET Core, .NET Framework, .NET Standard

Gets the SslConnectionFactory instance that can be used to configure the SSL options of the current instance.

 

property SslOptions: SslConnectionFactory read;

 

SslConnectionFactory SslOptions { get; }

 

var SslOptions: SslConnectionFactory { get{} }

 

ReadOnly Property SslOptions() As SslConnectionFactory

TargetUri    (declared in ClientChannel)

 

property TargetUri: Uri read write;

 

Uri TargetUri { get; set; }

 

var TargetUri: Uri { get{} set{} }

 

Property TargetUri() As Uri

TargetUrl    (declared in ClientChannel)

 

property TargetUrl: String read write;

 

String TargetUrl { get; set; }

 

var TargetUrl: String { get{} set{} }

 

Property TargetUrl() As String

TriggerAfterReceiveStream  protected    (declared in Channel)

 

method TriggerAfterReceiveStream(var stream: Stream)

 

void TriggerAfterReceiveStream(ref Stream stream)

 

func TriggerAfterReceiveStream(_ stream: inout Stream)

 

Sub TriggerAfterReceiveStream(ByRef stream As Stream)

Parameters:

  • stream:

TriggerBeforeSendStream  protected    (declared in Channel)

 

method TriggerBeforeSendStream(var stream: Stream)

 

void TriggerBeforeSendStream(ref Stream stream)

 

func TriggerBeforeSendStream(_ stream: inout Stream)

 

Sub TriggerBeforeSendStream(ByRef stream As Stream)

Parameters:

  • stream:

TriggerOnException  protected    (declared in ClientChannel)

 

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

 

void TriggerOnException(Exception exception, out Boolean handled)

 

func TriggerOnException(_ exception: Exception, _ handled: inout Boolean)

 

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)

 

func TriggerOnLoginNeeded(_ exception: Exception, _ loginSuccessful: inout Boolean)

 

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)

 

func TriggerOnTransferEnd(_ direction: TransferDirection)

 

Sub TriggerOnTransferEnd(direction As TransferDirection)

Parameters:

  • direction:

TriggerOnTransferProgress  protected    (declared in ClientChannel)

 

method TriggerOnTransferProgress(direction: TransferDirection; current: Int64)

 

void TriggerOnTransferProgress(TransferDirection direction, Int64 current)

 

func TriggerOnTransferProgress(_ direction: TransferDirection, _ current: Int64)

 

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)

 

func TriggerOnTransferStart(_ direction: TransferDirection, _ total: Int64)

 

Sub TriggerOnTransferStart(direction As TransferDirection, total As Int64)

Parameters:

  • direction:
  • total:

UnregisterEventReceiver    (declared in SuperHttpClientChannel)

This method is used by the EventReceiver class to remove this component from the internal event receiver list.

 

method UnregisterEventReceiver(receiver: IEventReceiver)

 

void UnregisterEventReceiver(IEventReceiver receiver)

 

func UnregisterEventReceiver(_ receiver: IEventReceiver)

 

Sub UnregisterEventReceiver(receiver As IEventReceiver)

Parameters:

  • receiver:

UseEventThreadPool    (declared in SuperHttpClientChannel)

Gets or sets a flag indicating whenther the server events callbacks wiil be executed using a separate thread pool (when set to true) or immediately in the same thread (when set to false).

Note: It is strongly suggested to leave value of this property as ture. Otherwise (ie when event callbacks are to be executed in the same thread as the channel code) please ensure that the event callbacks do not block the channel thread's execution for any significant amunt of time.

The default value is true.

 

[DefaultValue(true)]
property UseEventThreadPool: Boolean read write;

 

[DefaultValue(true)]
Boolean UseEventThreadPool { get; set; }

 

@DefaultValue(true)
var UseEventThreadPool: Boolean { get{} set{} }

 

<DefaultValue(true)>
Property UseEventThreadPool() As Boolean

UserAgent    (declared in SuperHttpClientChannel)

 

property UserAgent: String read write;

 

String UserAgent { get; set; }

 

var UserAgent: String { get{} set{} }

 

Property UserAgent() As String

WaitConnected    (declared in SuperHttpClientChannel)

 

method WaitConnected

 

void WaitConnected()

 

func WaitConnected()

 

Sub WaitConnected()

Worker  protected    (declared in SuperHttpClientChannel)

 

property Worker: SuperHttpClientChannelWorker read;

 

SuperHttpClientChannelWorker Worker { get; }

 

var Worker: SuperHttpClientChannelWorker { get{} }

 

ReadOnly Property Worker() As SuperHttpClientChannelWorker

 

Active    (declared in SuperHttpClientChannel)

Determines if the channel is currently active, i.e. has an open connection to the server, or is in the process of (re-)establishing a connection (true) or not (false).

 

property Active: Boolean read write;

 

Boolean Active { get; set; }

 

var Active: Boolean { get{} set{} }

 

Property Active() As Boolean

ClientID    (declared in SuperHttpClientChannel)

 

property ClientID: Guid read write;

 

Guid ClientID { get; set; }

 

var ClientID: Guid { get{} set{} }

 

Property ClientID() As Guid

Connected    (declared in SuperHttpClientChannel)

Indicates if there is an open connection to the server.

 

property Connected: Boolean read;

 

Boolean Connected { get; }

 

var Connected: Boolean { get{} }

 

ReadOnly Property Connected() As Boolean

ConnectTimeout    (declared in SuperHttpClientChannel)

Timeout in milliseconds after which this SuperHttpClientChannel will abort trying to connect to the server. This ensures that for unresponsive servers, the client will not hang indefinitely trying to establish a connection to the server.

The default value is 10000 (i.e. 10 seconds).

 

[DefaultValue(10000)]
property ConnectTimeout: Int32 read write;

 

[DefaultValue(10000)]
Int32 ConnectTimeout { get; set; }

 

@DefaultValue(10000)
var ConnectTimeout: Int32 { get{} set{} }

 

<DefaultValue(10000)>
Property ConnectTimeout() As Int32

EventThreadPool    (declared in SuperHttpClientChannel)

 

property EventThreadPool: IThreadPool read write;

 

IThreadPool EventThreadPool { get; set; }

 

var EventThreadPool: IThreadPool { get{} set{} }

 

Property EventThreadPool() As IThreadPool

HasAfterReceiveStream  protected    (declared in Channel)

 

property HasAfterReceiveStream: Boolean read;

 

Boolean HasAfterReceiveStream { get; }

 

var HasAfterReceiveStream: Boolean { get{} }

 

ReadOnly Property HasAfterReceiveStream() As Boolean

HasBeforeSendStream  protected    (declared in Channel)

 

property HasBeforeSendStream: Boolean read;

 

Boolean HasBeforeSendStream { get; }

 

var HasBeforeSendStream: Boolean { get{} }

 

ReadOnly Property HasBeforeSendStream() As Boolean

HasOnTransferProgress  protected    (declared in ClientChannel)

 

property HasOnTransferProgress: Boolean read;

 

Boolean HasOnTransferProgress { get; }

 

var HasOnTransferProgress: Boolean { get{} }

 

ReadOnly Property HasOnTransferProgress() As Boolean

HttpTimeout    (declared in SuperHttpClientChannel)

The timeout, in milliseconds, after which the client channel will abort the request. This ensures that for unresponsive servers, the client will not hang indefinitely waiting for a reply.

The default value is 10000 (i.e. 10 seconds).

 

[DefaultValue(10000)]
property HttpTimeout: Int32 read write;

 

[DefaultValue(10000)]
Int32 HttpTimeout { get; set; }

 

@DefaultValue(10000)
var HttpTimeout: Int32 { get{} set{} }

 

<DefaultValue(10000)>
Property HttpTimeout() As Int32

IsBusy    (declared in ClientChannel)

 

property IsBusy: Boolean read;

 

Boolean IsBusy { get; }

 

var IsBusy: Boolean { get{} }

 

ReadOnly Property IsBusy() As Boolean

MaxPackageSize    (declared in SuperHttpClientChannel)

The maximum size of data package that the channel can send or receive.

 

[DefaultValue(10485760)]
property MaxPackageSize: Int32 read write;

 

[DefaultValue(10485760)]
Int32 MaxPackageSize { get; set; }

 

@DefaultValue(10485760)
var MaxPackageSize: Int32 { get{} set{} }

 

<DefaultValue(10485760)>
Property MaxPackageSize() As Int32

ProxySettings

 

property ProxySettings: HttpProxySettings read;

 

HttpProxySettings ProxySettings { get; }

 

var ProxySettings: HttpProxySettings { get{} }

 

ReadOnly Property ProxySettings() As HttpProxySettings

RequestTimeout    (declared in SuperHttpClientChannel)

The timeout, in milliseconds, after which the SuperHTTP client channel will abort the request. This ensures that for unresponsive servers, the client will not hang indefinitely waiting for a reply.

The default value is 60000 (i.e. 1 minute).

 

[DefaultValue(60000)]
property RequestTimeout: Int32 read write;

 

[DefaultValue(60000)]
Int32 RequestTimeout { get; set; }

 

@DefaultValue(60000)
var RequestTimeout: Int32 { get{} set{} }

 

<DefaultValue(60000)>
Property RequestTimeout() As Int32

SslOptions .NET Core, .NET Framework, .NET Standard

Gets the SslConnectionFactory instance that can be used to configure the SSL options of the current instance.

 

property SslOptions: SslConnectionFactory read;

 

SslConnectionFactory SslOptions { get; }

 

var SslOptions: SslConnectionFactory { get{} }

 

ReadOnly Property SslOptions() As SslConnectionFactory

TargetUri    (declared in ClientChannel)

 

property TargetUri: Uri read write;

 

Uri TargetUri { get; set; }

 

var TargetUri: Uri { get{} set{} }

 

Property TargetUri() As Uri

TargetUrl    (declared in ClientChannel)

 

property TargetUrl: String read write;

 

String TargetUrl { get; set; }

 

var TargetUrl: String { get{} set{} }

 

Property TargetUrl() As String

UseEventThreadPool    (declared in SuperHttpClientChannel)

Gets or sets a flag indicating whenther the server events callbacks wiil be executed using a separate thread pool (when set to true) or immediately in the same thread (when set to false).

Note: It is strongly suggested to leave value of this property as ture. Otherwise (ie when event callbacks are to be executed in the same thread as the channel code) please ensure that the event callbacks do not block the channel thread's execution for any significant amunt of time.

The default value is true.

 

[DefaultValue(true)]
property UseEventThreadPool: Boolean read write;

 

[DefaultValue(true)]
Boolean UseEventThreadPool { get; set; }

 

@DefaultValue(true)
var UseEventThreadPool: Boolean { get{} set{} }

 

<DefaultValue(true)>
Property UseEventThreadPool() As Boolean

UserAgent    (declared in SuperHttpClientChannel)

 

property UserAgent: String read write;

 

String UserAgent { get; set; }

 

var UserAgent: String { get{} set{} }

 

Property UserAgent() As String

Worker  protected    (declared in SuperHttpClientChannel)

 

property Worker: SuperHttpClientChannelWorker read;

 

SuperHttpClientChannelWorker Worker { get; }

 

var Worker: SuperHttpClientChannelWorker { get{} }

 

ReadOnly Property Worker() As SuperHttpClientChannelWorker

 

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)

 

static func BuildTargetUri(_ protocol: String, _ host: String, _ port: Int32, _ message: String) -> Uri

 

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)

 

static func ChannelMatchingTargetUri(_ uri: String) -> IClientChannel

 

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)

 

static func ChannelMatchingTargetUri(_ uri: Uri) -> IClientChannel

 

Shared Function ChannelMatchingTargetUri(uri As Uri) As IClientChannel

Parameters:

  • uri: Server Uri

 

constructor

 

constructor

 

IpSuperHttpClientChannel()

 

init()

 

Sub New()

constructor (IContainer) .NET Framework

 

constructor(container: IContainer)

 

IpSuperHttpClientChannel(IContainer container)

 

init(_ container: IContainer)

 

Sub New(container As IContainer)

Parameters:

  • container:

constructor (SuperHttpClientChannelWorker)  protected    (declared in SuperHttpClientChannel)

 

constructor(worker: SuperHttpClientChannelWorker)

 

IpSuperHttpClientChannel(SuperHttpClientChannelWorker worker)

 

init(_ worker: SuperHttpClientChannelWorker)

 

Sub New(worker As SuperHttpClientChannelWorker)

Parameters:

  • worker:

AsyncDispatch    (declared in ClientChannel)

 

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

 

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

 

func AsyncDispatch(_ message: IMessage, _ callback: AsyncCallback, _ userData: Object) -> IClientAsyncResult

 

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

Parameters:

  • message:
  • callback:
  • userData:

BeforeDispatch  protected    (declared in SuperHttpClientChannel)

 

method BeforeDispatch(message: IMessage)

 

void BeforeDispatch(IMessage message)

 

func BeforeDispatch(_ message: IMessage)

 

Sub BeforeDispatch(message As IMessage)

Parameters:

  • message:

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

 

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

 

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

 

func BeginDispatch(_ message: IMessage, _ callback: AsyncCallback, _ disposeChannel: Boolean, _ userData: Object) -> IClientAsyncResult

 

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)

 

func BeginDispatch(_ message: IMessage, _ callback: AsyncCallback, _ userData: Object) -> IClientAsyncResult

 

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

Parameters:

  • message:
  • callback:
  • userData:

CheckChannelStatus  protected    (declared in SuperHttpClientChannel)

 

method CheckChannelStatus

 

void CheckChannelStatus()

 

func CheckChannelStatus()

 

Sub CheckChannelStatus()

Clone

 

method Clone: Object

 

Object Clone()

 

func Clone() -> Object

 

Function Clone() As Object

CopyProperties (Channel)  protected    (declared in Channel)

 

method CopyProperties(source: Channel)

 

void CopyProperties(Channel source)

 

func CopyProperties(_ source: Channel)

 

Sub CopyProperties(source As Channel)

Parameters:

  • source:

CopyProperties (ClientChannel)  protected

 

method CopyProperties(source: ClientChannel)

 

void CopyProperties(ClientChannel source)

 

func CopyProperties(_ source: ClientChannel)

 

Sub CopyProperties(source As ClientChannel)

Parameters:

  • source:

Dispatch    (declared in ClientChannel)

The implementation of IClientChannel.Dispatch. This method ensures the transport is not busy before calling IntDispatch and passing the given IMessage. If the transport is busy, a ChannelBusyException is thrown.

 

method Dispatch(message: IMessage)

 

void Dispatch(IMessage message)

 

func Dispatch(_ message: IMessage)

 

Sub Dispatch(message As IMessage)

Parameters:

  • message:

Dispose    (declared in Channel) .NET Core, .NET Standard

 

method Dispose

 

void Dispose()

 

func Dispose()

 

Sub Dispose()

Dispose (Boolean)  protected    (declared in SuperHttpClientChannel)

 

method Dispose(disposing: Boolean)

 

void Dispose(Boolean disposing)

 

func Dispose(_ disposing: Boolean)

 

Sub Dispose(disposing As Boolean)

Parameters:

  • disposing:

EndDispatch    (declared in ClientChannel)

 

method EndDispatch(ar: IAsyncResult): IMessage

 

IMessage EndDispatch(IAsyncResult ar)

 

func EndDispatch(_ ar: IAsyncResult) -> IMessage

 

Function EndDispatch(ar As IAsyncResult) As IMessage

Parameters:

  • ar:

Finalize  protected    (declared in SuperHttpClientChannel)

 

method Finalize

 

void Finalize()

 

func Finalize()

 

Sub Finalize()

IntDispatch  protected    (declared in SuperHttpClientChannel)

 

method IntDispatch(request: Stream; response: IMessage)

 

void IntDispatch(Stream request, IMessage response)

 

func IntDispatch(_ request: Stream, _ response: IMessage)

 

Sub IntDispatch(request As Stream, response As IMessage)

Parameters:

  • request:
  • response:

RegisterEventReceiver    (declared in SuperHttpClientChannel)

This method is used by the EventReceiver class to add this component to the internal event receiver list.

 

method RegisterEventReceiver(receiver: IEventReceiver)

 

void RegisterEventReceiver(IEventReceiver receiver)

 

func RegisterEventReceiver(_ receiver: IEventReceiver)

 

Sub RegisterEventReceiver(receiver As IEventReceiver)

Parameters:

  • receiver:

RetrieveRodl    (declared in SuperHttpClientChannel) .NET Core, .NET Framework, .NET Standard

 

method RetrieveRodl: RodlLibrary

 

RodlLibrary RetrieveRodl()

 

func RetrieveRodl() -> RodlLibrary

 

Function RetrieveRodl() As RodlLibrary

TriggerAfterReceiveStream  protected    (declared in Channel)

 

method TriggerAfterReceiveStream(var stream: Stream)

 

void TriggerAfterReceiveStream(ref Stream stream)

 

func TriggerAfterReceiveStream(_ stream: inout Stream)

 

Sub TriggerAfterReceiveStream(ByRef stream As Stream)

Parameters:

  • stream:

TriggerBeforeSendStream  protected    (declared in Channel)

 

method TriggerBeforeSendStream(var stream: Stream)

 

void TriggerBeforeSendStream(ref Stream stream)

 

func TriggerBeforeSendStream(_ stream: inout Stream)

 

Sub TriggerBeforeSendStream(ByRef stream As Stream)

Parameters:

  • stream:

TriggerOnException  protected    (declared in ClientChannel)

 

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

 

void TriggerOnException(Exception exception, out Boolean handled)

 

func TriggerOnException(_ exception: Exception, _ handled: inout Boolean)

 

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)

 

func TriggerOnLoginNeeded(_ exception: Exception, _ loginSuccessful: inout Boolean)

 

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)

 

func TriggerOnTransferEnd(_ direction: TransferDirection)

 

Sub TriggerOnTransferEnd(direction As TransferDirection)

Parameters:

  • direction:

TriggerOnTransferProgress  protected    (declared in ClientChannel)

 

method TriggerOnTransferProgress(direction: TransferDirection; current: Int64)

 

void TriggerOnTransferProgress(TransferDirection direction, Int64 current)

 

func TriggerOnTransferProgress(_ direction: TransferDirection, _ current: Int64)

 

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)

 

func TriggerOnTransferStart(_ direction: TransferDirection, _ total: Int64)

 

Sub TriggerOnTransferStart(direction As TransferDirection, total As Int64)

Parameters:

  • direction:
  • total:

UnregisterEventReceiver    (declared in SuperHttpClientChannel)

This method is used by the EventReceiver class to remove this component from the internal event receiver list.

 

method UnregisterEventReceiver(receiver: IEventReceiver)

 

void UnregisterEventReceiver(IEventReceiver receiver)

 

func UnregisterEventReceiver(_ receiver: IEventReceiver)

 

Sub UnregisterEventReceiver(receiver As IEventReceiver)

Parameters:

  • receiver:

WaitConnected    (declared in SuperHttpClientChannel)

 

method WaitConnected

 

void WaitConnected()

 

func WaitConnected()

 

Sub WaitConnected()

 

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 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 EventHandler<StreamEventArgs>: BeforeSendStream!

 

Event BeforeSendStream As EventHandler<StreamEventArgs>

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 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 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 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 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 EventHandler<TransferStartEventArgs>: OnTransferStart!

 

Event OnTransferStart As EventHandler<TransferStartEventArgs>