TROBaseSuperTCPChannel Class

From RemObjects Wiki
Jump to: navigation, search

This is a Library topic for RemObjects SDK for Delphi
This page is generated from external data, please do not update

InterfacesClassesAliasesImplements

Contents

Overview

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

TROSuperTCPChannel and TROSynapseSuperTCPChannel contain implementation of TROBaseSuperTCPChannel via Indy and Synapse libraries accordingly.


Location

uROBaseSuperTCPChannel.pas

Implemented interfaces


Properties

AckWaitTimeout

Defines the time frame, in milliseconds, within which an "acknowledgement" message is expected to be received for a sent request (default is 10000, i.e. 10 seconds). If no acknowledgement has been received after the specified time, delivery will be considered to have failed.



property AckWaitTimeout: Integer read write


Active     (declared in TROBaseSuperChannel)

Allows to get channel's activity state, whether the channel active i.e. attempts to connect or already connected. Allows to activate and deactivate the channel.



property Active: Boolean read write


AutoReconnect

Determines if the Super TCP Channel should automatically re-establish a connection to the server if the current connection is lost (true) or not (false, default). Set this property to true if your client needs a constant connection to the server, for example to receive callback events or asynchronous responses.



property AutoReconnect:


AutoReconnectBehavior

Sets auto reconnect behavior

TROSCAutoReconnectBehavior  = (sbBeforeServerLocators, sbAfterServerLocators, sbSwitchServerLocatorAfterFirstFailure);



property AutoReconnectBehavior:


BaseSuperConnection   protected

Returns TROBaseSuperConnection that was created with CreateBaseSuperConnection



property BaseSuperConnection: TROBaseSuperConnection read


Busy     (declared in TROTransportChannel)

Informs whether the channel is currently busy executing a remote request (true) or not (false). Most channels (except most notably the TROSuperTCPChannel) are only capable of performing one request at a time; if a second request is attempted while the channel is Busy, an EROChannelBusy exception will be raised.



property Busy: boolean read


ClientID

Contains the Client ID. Client IDs are used by the RemObjects SDK for Session Management and to uniquely identify individual client on the server, for example by the Per-Client Class Factory or in your own custom code. Generally, you will not need to assign or read this value; the framework will automatically create a new unique client ID whenever a message object is instantiated on the client. However, you do have the option to read and write the ClientID property manually, for example to persist a specific client ID between shutdown and restart of your application.



property ClientID:


Connected     (declared in TROBaseSuperChannel)

Returns true if the channel is connected to the server.



property Connected: Boolean read


ConnectionWaitTimeout

Defines the time frame, in milliseconds, within which connection to remote server should be made (default is 10000, i.e. 10 seconds).



property ConnectionWaitTimeout:


ConnectTimeout     (declared in TROBaseSuperChannel)

The same as above.



property ConnectTimeout: Integer read write


CurrentLocator     (declared in TROTransportChannel)

Returns which of the fail-over/load balancing servers configured in the ServerLocators is currently active. Depending on the DispatchOptions defined, this value might change with each request, or only if the current server fails.



property CurrentLocator: TROServerLocator read write


DispatchOptions     (declared in TROBaseSuperChannel)

The set of options to control load balancing and fault tolerance behavior of the client channel. See TRODispatchOption.



property DispatchOptions:


Encryption obsolete     (declared in TROBaseConnection)

This is DES based enscryption, it is obsolete because works only for Delphi. Use message envelope AES Encryption Envelope instead.



property Encryption: TROEncryption read write


EventReceiverList   protected     (declared in TROBaseActiveEventChannel)

Provides a list of registered IROEventReceiver



property EventReceiverList: TInterfaceList read


EventThreadPool     (declared in TROBaseSuperChannel)

Refers to the TROThreadPool instance to provide a thread pool to execute event handling routines on. If the thread pool is not set explicitly it is created autromatically upon access.



property EventThreadPool: TROThreadPool read write


FaultToleranceLocatorIdx     (declared in TROTransportChannel)



property FaultToleranceLocatorIdx: integer read write


Host

Address of the server.



property Host: string read write


IdleTimeoutMinutes

Specifies of time frame of inactivity when the connection to server will be closed



property IdleTimeoutMinutes: Integer read write


LoadBalancerLocatorIdx     (declared in TROTransportChannel)



property LoadBalancerLocatorIdx: Integer read write


MaxPackageSize     (declared in TROBaseSuperChannel)

The maximum size of the message in bytes that can be transferred through the channel.



property MaxPackageSize: Integer read write


OnAfterProbingServer     (declared in TROBaseSuperChannel)

Inherited from the TROTransportChannel class.



property OnAfterProbingServer:


OnAfterProbingServers     (declared in TROBaseSuperChannel)

Inherited from the TROTransportChannel class.



property OnAfterProbingServers:


OnBeforeProbingServer     (declared in TROBaseSuperChannel)

Inherited from the TROTransportChannel class.



property OnBeforeProbingServer:


OnBeforeProbingServers     (declared in TROBaseSuperChannel)

Inherited from the TROTransportChannel class.



property OnBeforeProbingServers:


OnConnected



property OnConnected:


OnDisconnected



property OnDisconnected:


OnLoginNeeded     (declared in TROBaseSuperChannel)

Inherited from the TROTransportChannel class.



property OnLoginNeeded:


OnProgress     (declared in TROBaseSuperChannel)

Inherited from the TROTransportChannel class.



property OnProgress:


OnReceiveStream     (declared in TROBaseSuperChannel)

Inherited from the TROTransportChannel class.



property OnReceiveStream:


OnSendStream     (declared in TROBaseSuperChannel)

Inherited from the TROTransportChannel class.



property OnSendStream:


OnServerLocatorAssignment     (declared in TROBaseSuperChannel)

Inherited from the TROTransportChannel class.



property OnServerLocatorAssignment:


PingSecs

Specifies ping interval. Should be in interval from 10 up to 60.



property PingSecs: Integer read write


Port

Specifies the port number where the server is listening (default for the RemObjects SDK TCP servers is 8095).



property Port: Integer read write


ProbeFrequency     (declared in TROBaseSuperChannel)

Inherited from the TROTransportChannel class.



property ProbeFrequency:


ProbeServers     (declared in TROBaseSuperChannel)

Inherited from the TROTransportChannel class.



property ProbeServers:


ReconnectDelay

Specifies the time, in milliseconds, that the channel will wait after an unsuccessful (re-)connect, before it attempts the next connect, if AutoReconnect is true. Default is 500, i.e. half a second.



property ReconnectDelay:


RequestTimeout     (declared in TROBaseSuperChannel)

The timeout to complete the remote request on the server. Expressed in milliseconds, the default value is 60000 (60 sec). All requests that last longer than the timeout specified are considered failed.



property RequestTimeout: Integer read write


ServerLocators     (declared in TROBaseSuperChannel)

Inherited from the TROTransportChannel class.



property ServerLocators:


SessionId   protected     (declared in TROBaseSuperChannel)

The unique identifier of the current session on the server. The same as ClientId.



property SessionId: TGUID read write


SkipAck

Defines whether "acknowledgement" messages are skipped.



property SkipAck: Boolean read write


StoreActive     (declared in TROBaseSuperChannel)

Controls whether the Active property value is stored in the dfm file.



property StoreActive: Boolean read write


SynchronizedProbing     (declared in TROBaseSuperChannel)

Inherited from the TROTransportChannel class.



property SynchronizedProbing:


SynchronizeEvents     (declared in TROBaseSuperChannel)

According to the superchannel nature every remote request is processed using it's own background thread. This property controls on which thread to execute the event handlers for events connected with each remote request. If the property is set to true than all event handlers are executed on the main application thread, otherwise they are executed on the request's background thread.
WARNING: This property has no effect on OnSendSream and OnReceiveStream events, they are alway executed on background threads.



property SynchronizeEvents: Boolean read write


TargetUri     (declared in TROTransportChannel)



property TargetUri: TROUri read write


TargetUrl     (declared in TROBaseSuperChannel)



property TargetUrl:


ThreadSafe   protected     (declared in TROTransportChannel)



property ThreadSafe: Boolean read write


WaitingRequests   protected     (declared in TROBaseSuperChannel)

Internal storage of remote requests awaiting for response.



property WaitingRequests: TThreadList read


WorkerThread   protected     (declared in TROBaseSuperChannel)

Internal background threads management property.



property WorkerThread: TThread read


Class Methods

ChannelMatchingTargetUri     (declared in TROTransportChannel)



function ChannelMatchingTargetUri(const aUri: TROUri): TROTransportChannel


Parameters:

  • aUri:


ChannelMatchingTargetUrl     (declared in TROTransportChannel)



function ChannelMatchingTargetUrl(const aUrl: string): TROTransportChannel


Parameters:

  • aUrl:


Instance Methods

constructor Create   override



constructor Create(aOwner: TComponent)


Parameters:

  • aOwner:


destructor Destroy   override



destructor Destroy


Assign   override

Copies property of another similar object


procedure Assign(aSource: TPersistent)


Parameters:

  • aSource:


AsyncException   protected virtual     (declared in TROTransportChannel)



procedure AsyncException(aAsyncInterface: IROAsyncInterface; AsyncException: Exception)


Parameters:

  • aAsyncInterface:
  • AsyncException:


BeforeDispatch   protected override     (declared in TROBaseSuperChannel)



procedure BeforeDispatch(aMessage: IROMessage)


Parameters:

  • aMessage:


CallbackEvents   protected     (declared in TROBaseActiveEventChannel)

Sends event to each registered IROEventReceiver


procedure CallbackEvents(aData: TStream; aThread: TThread)


Parameters:

  • aData:
  • aThread:


ChangeServerLocator   protected override     (declared in TROBaseSuperChannel)



procedure ChangeServerLocator(var faultstartlocatoridx: integer; var aRetry: Boolean; const aException: Exception)


Parameters:

  • faultstartlocatoridx:
  • aRetry:
  • aException:


CheckProperties   virtual     (declared in TROTransportChannel)



procedure CheckProperties


CheckStatus   protected     (declared in TROBaseSuperChannel)



function CheckStatus(const iMessageID: string): Boolean


Parameters:

  • iMessageID:


CreateBaseSuperConnection   protected virtual abstract

Creates TROBaseSuperConnection


function CreateBaseSuperConnection: TROBaseSuperConnection


CreateWorkerThread   protected override



function CreateWorkerThread: TThread


DecodeEventStream   protected     (declared in TROTransportChannel)



procedure DecodeEventStream(const aStream: TStream)


Parameters:

  • aStream:


Dispatch (IROMessage)   protected reintroduce overload     (declared in TROTransportChannel)



procedure Dispatch(aMessage: IROMessage)


Parameters:

  • aMessage:


DoAfterEncryptEvent   protected virtual obsolete     (declared in TROBaseConnection)



procedure DoAfterEncryptEvent(aEncryptedStream: TStream)


Parameters:

  • aEncryptedStream:


DoAfterProbingServerEvent   protected override     (declared in TROBaseSuperChannel)



procedure DoAfterProbingServerEvent(const aServerLocator: TROServerLocator; const Failed: Boolean)


Parameters:

  • aServerLocator:
  • Failed:


DoAfterProbingServersEvent   protected override     (declared in TROBaseSuperChannel)



procedure DoAfterProbingServersEvent(const ProbedCount: integer; const EnabledCount: integer; const DisabledCount: integer)


Parameters:

  • ProbedCount:
  • EnabledCount:
  • DisabledCount:


DoBeforeDecryptEvent   protected virtual obsolete     (declared in TROBaseConnection)



procedure DoBeforeDecryptEvent(aEncryptedStream: TStream)


Parameters:

  • aEncryptedStream:


DoBeforeProbingServerEvent   protected override     (declared in TROBaseSuperChannel)



procedure DoBeforeProbingServerEvent(const aServerLocator: TROServerLocator)


Parameters:

  • aServerLocator:


DoBeforeProbingServersEvent   protected override     (declared in TROBaseSuperChannel)



procedure DoBeforeProbingServersEvent


DoConnectedEvent   protected virtual     (declared in TROBaseSuperChannel)



procedure DoConnectedEvent


DoConnectedEvent_Synch   protected     (declared in TROBaseSuperChannel)



procedure DoConnectedEvent_Synch


DoDecryption   virtual obsolete     (declared in TROBaseConnection)



procedure DoDecryption(iCipherText: TStream; iPlainText: TStream)


Parameters:

  • iCipherText:
  • iPlainText:


DoDecryption2 obsolete     (declared in TROBaseConnection)



procedure DoDecryption2(const iStream: TStream)


Parameters:

  • iStream:


DoDisconnect   protected override



procedure DoDisconnect


DoDisconnectedEvent   protected virtual     (declared in TROBaseSuperChannel)



procedure DoDisconnectedEvent


DoDisconnectedEvent_Synch   protected     (declared in TROBaseSuperChannel)



procedure DoDisconnectedEvent_Synch


DoEncryption   virtual obsolete     (declared in TROBaseConnection)



procedure DoEncryption(iPlainText: TStream; iCipherText: TStream)


Parameters:

  • iPlainText:
  • iCipherText:


DoEncryption2 obsolete     (declared in TROBaseConnection)



procedure DoEncryption2(const iStream: TStream)


Parameters:

  • iStream:


DoException   protected virtual     (declared in TROTransportChannel)



procedure DoException(anException: Exception; var aRetry: Boolean)


Parameters:

  • anException:
  • aRetry:


DoIdle   protected



procedure DoIdle


DoInitialConnect   protected override



procedure DoInitialConnect


DoLoginNeeded   protected virtual     (declared in TROTransportChannel)



procedure DoLoginNeeded(anException: Exception; var aRetry: Boolean)


Parameters:

  • anException:
  • aRetry:


DoProcessError   protected     (declared in TROBaseSuperChannel)



function DoProcessError(const Id: Integer; const ErrorNo: Integer): boolean


Parameters:

  • Id:
  • ErrorNo:


DoReceiveStreamEvent   protected override     (declared in TROBaseSuperChannel)



procedure DoReceiveStreamEvent(const aStream: TStream)


Parameters:

  • aStream:


DoReconnect   protected     (declared in TROBaseSuperChannel)



procedure DoReconnect(var RestartLoop: Boolean)


Parameters:

  • RestartLoop:


DoSendStreamEvent   protected override     (declared in TROBaseSuperChannel)



procedure DoSendStreamEvent(const aStream: TStream)


Parameters:

  • aStream:


DoServerLocatorAssignmentEvent   protected override     (declared in TROBaseSuperChannel)



procedure DoServerLocatorAssignmentEvent(const aLocator: TROServerLocator; const aException: Exception)


Parameters:

  • aLocator:
  • aException:


FindWaitingRequest   protected     (declared in TROBaseSuperChannel)



function FindWaitingRequest(aList: TList; aId: Integer): TROWaitingRequest


Parameters:

  • aList:
  • aId:


GetClientAddress   protected override

Implements IROTCPTransport.GetClientAddress and returns an IP address of a client.


function GetClientAddress: string


GetClientID   protected override



function GetClientID: TGUID


GetConnected   protected override



function GetConnected: Boolean


GetMaxPackageSize   protected override



function GetMaxPackageSize: Longint


GetServerLocatorClass   protected override     (declared in TROBaseSuperChannel)



function GetServerLocatorClass: TROServerLocatorClass


GetStrippedTargetUrl   protected virtual     (declared in TROBaseSuperChannel)



function GetStrippedTargetUrl: string


GetTargetUri   protected virtual     (declared in TROTransportChannel)



function GetTargetUri: TROUri


GetTargetUrl   protected virtual     (declared in TROTransportChannel)



function GetTargetUrl: string


GetTransportObject   protected override     (declared in TROBaseSuperChannel)



function GetTransportObject: TObject


HasData   protected     (declared in TROBaseSuperChannel)



procedure HasData(Id: Integer; aData: TStream)


Parameters:

  • Id:
  • aData:


InDestroyingState   protected     (declared in TROBaseSuperChannel)



function InDestroyingState: Boolean


InitialConnect   protected     (declared in TROBaseSuperChannel)



function InitialConnect: Boolean


InitServerLocator   protected override     (declared in TROBaseSuperChannel)



function InitServerLocator: Integer


intChangeServerLocator   protected     (declared in TROTransportChannel)



procedure intChangeServerLocator(var faultstartlocatoridx: integer; var aRetry: Boolean; const aException: Exception)


Parameters:

  • faultstartlocatoridx:
  • aRetry:
  • aException:


IntDispatch   protected override



procedure IntDispatch(aRequest: TStream; aResponse: TStream)


Parameters:

  • aRequest:
  • aResponse:


intInitServerLocator   protected     (declared in TROTransportChannel)



function intInitServerLocator: Integer


IntSetServerLocator   protected virtual     (declared in TROTransportChannel)



procedure IntSetServerLocator(aServerLocator: TROServerLocator)


Parameters:

  • aServerLocator:


InvokeRequest (TStream, boolean): string   protected overload     (declared in TROBaseSuperChannel)



function InvokeRequest(aRequest: TStream; iGetResponse: boolean): string


Parameters:

  • aRequest:
  • iGetResponse:


InvokeRequest (TStream, Boolean, TROEvent): string   protected override



function InvokeRequest(aRequest: TStream; aGetResponse: Boolean; aEvent: TROEvent): string


Parameters:

  • aRequest:
  • aGetResponse:
  • aEvent:


IsEncryptionUsed   protected     (declared in TROTransportChannel)



function IsEncryptionUsed: Boolean


Loaded   protected override     (declared in TROBaseSuperChannel)



procedure Loaded


Notification   protected override     (declared in TROBaseSuperChannel)



procedure Notification(AComponent: TComponent; Operation: TOperation)


Parameters:

  • AComponent:
  • Operation:


Probe   protected     (declared in TROTransportChannel)



function Probe(aServerLocator: TROServerLocator): boolean


Parameters:

  • aServerLocator:


ProbeAll   protected     (declared in TROTransportChannel)



procedure ProbeAll


ProcessEvent   protected     (declared in TROBaseSuperChannel)



procedure ProcessEvent(aData: TStream)


Parameters:

  • aData:


RegisterEventReceiver   protected virtual     (declared in TROBaseActiveEventChannel)

Adds IROEventReceiver to the EventReceiverList


procedure RegisterEventReceiver(aReceiver: IROEventReceiver)


Parameters:

  • aReceiver:


ResetProbingClone   protected override     (declared in TROBaseSuperChannel)



procedure ResetProbingClone(aProbe: TROTransportChannel)


Parameters:

  • aProbe:


RetrieveMetadata   protected virtual     (declared in TROTransportChannel)



procedure RetrieveMetadata(out Metadata: TStream)


Parameters:

  • Metadata:


RetrieveResponse   protected     (declared in TROBaseSuperChannel)



procedure RetrieveResponse(const iMessageID: string; aResponse: TStream)


Parameters:

  • iMessageID:
  • aResponse:


RetrieveRODL   protected     (declared in TROTransportChannel)



procedure RetrieveRODL(out RODLLibrary: TRODLLibrary)


Parameters:

  • RODLLibrary:


ROFreeNotification     (declared in TROComponent)



procedure ROFreeNotification(AComponent: TComponent)


Parameters:

  • AComponent:


RORemoveFreeNotification     (declared in TROComponent)



procedure RORemoveFreeNotification(AComponent: TComponent)


Parameters:

  • AComponent:


SendRemoveNotification   protected     (declared in TROComponent)



procedure SendRemoveNotification(AComponent: TComponent)


Parameters:

  • AComponent:


SetClientID   protected override



procedure SetClientID(const Value: TGUID)


Parameters:

  • Value:


SetConnectedState   protected     (declared in TROBaseSuperChannel)



procedure SetConnectedState


SetInactive   protected     (declared in TROBaseSuperChannel)



procedure SetInactive


SetMaxPackageSize   protected override



procedure SetMaxPackageSize(val: longint)


Parameters:

  • val:


SetServerLocator   protected     (declared in TROTransportChannel)



procedure SetServerLocator(aServerLocator: TROServerLocator; anException: Exception)


Parameters:

  • aServerLocator:
  • anException:


SetTargetUri   protected override



procedure SetTargetUri(const aUri: TROUri)


Parameters:

  • aUri:


SetTargetUrl   protected virtual     (declared in TROTransportChannel)



procedure SetTargetUrl(const aValue: string)


Parameters:

  • aValue:


SuperChannel_RaiseError   protected override



procedure SuperChannel_RaiseError(ACode: Integer)


Parameters:

  • ACode:


TriggerProgress   protected override     (declared in TROBaseSuperChannel)



procedure TriggerProgress(iType: TProgressType; iDirection: TProgressDirection; iTransfered: integer; iTotal: integer)


Parameters:

  • iType:
  • iDirection:
  • iTransfered:
  • iTotal:


UnregisterEventReceiver   protected virtual     (declared in TROBaseActiveEventChannel)

Removed IROEventReceiver from EventReceiverList


procedure UnregisterEventReceiver(aReceiver: IROEventReceiver)


Parameters:

  • aReceiver:


UnregisterEventReceivers   protected     (declared in TROBaseActiveEventChannel)

Removes all items from EventReceiverList


procedure UnregisterEventReceivers


WaitForActive     (declared in TROBaseSuperChannel)



procedure WaitForActive(const Timeout: Integer)


Parameters:

  • Timeout:


Events

ConnectEvent     (declared in TROBaseSuperChannel)



property ConnectEvent: TROEvent read


onAfterEncrypt obsolete     (declared in TROBaseConnection)



property onAfterEncrypt: TROBaseConnectionOperation read write delegate: procedure Invoke(Sender: TROBaseConnection; aEncryptedStream: TStream)


OnAfterProbingServer     (declared in TROTransportChannel)

Fires after the channel is done probing a specific server for availability. You can use this event to check the result of the probing, possibly to update internal data structures or to display server status in the user interface.



property OnAfterProbingServer: TROEndProbeServerEvent read write delegate: procedure Invoke(Sender: TROTransportChannel; aServerLocator: TROServerLocator; Failed: boolean)


OnAfterProbingServers     (declared in TROTransportChannel)

Fires after the channel is done probing all servers for availability. You can use this event to check the result of the probing, possibly to update internal data structures or to display server status in the user interface.



property OnAfterProbingServers: TROEndProbeServersEvent read write delegate: procedure Invoke(Sender: TROTransportChannel; ProbedCount: integer; EnabledCount: integer; DisabledCount: integer)


OnAsyncException     (declared in TROTransportChannel)



property OnAsyncException: TROAsyncExceptionEvent read write delegate: procedure Invoke(Sender: TROTransportChannel; Async: IROAsyncInterface; anException: Exception)


onBeforeDecrypt obsolete     (declared in TROBaseConnection)



property onBeforeDecrypt: TROBaseConnectionOperation read write delegate: procedure Invoke(Sender: TROBaseConnection; aEncryptedStream: TStream)


OnBeforeProbingServer     (declared in TROTransportChannel)

Fires before the channel starts probing a specific server for availability. You can use this event to:

  • check or adjust the server configuration
  • to include/exclude the server from being probed by changing the TROServerLocator.Enabled property.



property OnBeforeProbingServer: TROBeginProbeServerEvent read write delegate: procedure Invoke(Sender: TROTransportChannel; aServerLocator: TROServerLocator)


OnBeforeProbingServers     (declared in TROTransportChannel)

Fires before the channel starts probing all servers for availability. You can use this event:

  • to check or adjust the server configurations
  • to include/exclude individual server from being probed by changing their TROServerLocator.Enabled properties.



property OnBeforeProbingServers: TROBeginProbeServersEvent read write delegate: procedure Invoke(Sender: TROTransportChannel)


OnConnected     (declared in TROBaseSuperChannel)



property OnConnected: TNotifyEvent read write


OnDisconnected     (declared in TROBaseSuperChannel)



property OnDisconnected: TNotifyEvent read write


OnException     (declared in TROTransportChannel)

Fires if an exception is raised during the execution of a remote request. This could be an exception returned from the server, a communication problem or an error within the client. Depending on the type of error, your event handler can try to rectify the problem, and set aRetry to true to have the channel try and perform the request again. For example, an application could show a dialog asking the user to confirm if his internet connection is available, with Cancel and Retry buttons. If aRetry is set to true and the call succeeds at the second attempt, the call will return to the original code that initiated the request, as if the exception never happened.



property OnException: TROExceptionEvent read write delegate: procedure Invoke(Sender: TROTransportChannel; anException: Exception; var aRetry: Boolean)


OnFailure     (declared in TROTransportChannel)



property OnFailure: TROExceptionEvent read write delegate: procedure Invoke(Sender: TROTransportChannel; anException: Exception; var aRetry: Boolean)


OnLoginNeeded     (declared in TROTransportChannel)

Fires if an EROSessionNotFound (or the descendant SessionNotFoundException) exception is raised during the execution of a remote request. This usually indicates that the server cannot authenticate the client or that the session has expired. The most common use for this event is to perform a call to a special Login service provided by the server (possibly after prompting the user to enter username and password), and to set the aRetry parameter to true if login was successful.



property OnLoginNeeded: TROExceptionEvent read write delegate: procedure Invoke(Sender: TROTransportChannel; anException: Exception; var aRetry: Boolean)


OnProgress     (declared in TROTransportChannel)

This event fires as the channel is transferring data for a request or response to or from the server, informing of the current progress. It can be used to keep the user interface updated during lengthy transfers,e.g. by showing a progress bar or the remaining transfer volume. Note: the accuracy and frequency of calls to OnProgress depends on the channel type; since channels transport data packets in different sized chunks (or even all-at-once), OnProgress might show a very fine progress for some channels, while jumping from 0 to 100% in one step with others.



property OnProgress: TProgressEvent read write delegate: procedure Invoke(iSender: TObject; iType: TProgressType; iDirection: TProgressDirection; iTransferred: integer; iTotal: integer)


OnReceiveStream     (declared in TROTransportChannel)

Fires after a stream with a response message has been received from the server. Use this event handler to inspect and possibly modify the stream, before it continues to be processed by the higher levels of the RemObjects SDK framework.



property OnReceiveStream: TStreamDispatch read write delegate: procedure Invoke(aStream: TStream)


OnSendStream     (declared in TROTransportChannel)

Fires just as a stream with a request message will be sent to the server. The event handler can inspect and possibly modify the stream, before it continues to be sent off to the server.



property OnSendStream: TStreamDispatch read write delegate: procedure Invoke(aStream: TStream)


OnServerLocatorAssignment     (declared in TROTransportChannel)

Fires before changing of a server locator



property OnServerLocatorAssignment: TServerLocatorAssignment read write delegate: procedure Invoke(Sender: TROTransportChannel; aLocator: TROServerLocator; aException: Exception)


ReconnectEvent     (declared in TROBaseSuperChannel)



property ReconnectEvent: TROEvent read


Descendants


See Also


Product: RemObjects SDK
Available Editions: RemObjects SDK for .NET, Xcode, Delphi, Java and JavaScript

GlossaryArticlesLibrarySamples

Personal tools
Namespaces

Variants
Actions
Navigation
products
platforms
special
Toolbox