TROIndySuperHTTPChannel 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

InterfacesClassesEnumsAliasesImplements

Contents

Overview

The Super HTTP Channel implements the enhanced HTTP based channel which provides a sophisticated and flexible communication channel which uses persistent connections to enable true asynchronous calls and server callbacks.

The channel is based on the open source Indy components that ship with Delphi.


Location

uROIndySuperHttpChannel.pas


Properties

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


AllowGzipEncoding     (declared in TROBaseSuperHTTPChannel)

Allows to use GZIP compression



property AllowGzipEncoding: Boolean read write


AutoReconnect   protected     (declared in TROBaseSuperChannel)

Specifies whether to use auto reconnect feature if the specified server is not available.



property AutoReconnect: Boolean read write


AutoReconnectBehavior   protected     (declared in TROBaseSuperChannel)

Controls the auto-reconnect behavior, if enabled. For possible auto-reconnect modes see TROSCAutoReconnectBehavior enum.



property AutoReconnectBehavior: TROSCAutoReconnectBehavior read write


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   protected     (declared in TROBaseSuperChannel)

The unique identifier of the client and it's session on the server. See TROMessage description for more details. The property is assigned automatically during the process of data exchange between the client and the server.



property ClientId: TGUID read write


ClientRequest

Provides direct access to the underlying Indy implementation. You can use this property to control advanced settings on the Indy object. The available properties and settings depend on the version of Indy you are using.



property ClientRequest: TIdHTTP read


ClientWait

Provides direct access to the underlying Indy implementation. You can use this property to control advanced settings on the Indy object. The available properties and settings depend on the version of Indy you are using.



property ClientWait: TIdHTTP read


Connected     (declared in TROBaseSuperChannel)

Returns true if the channel is connected to the server.



property Connected: Boolean read


ConnectionId     (declared in TROBaseSuperHTTPChannel)

Identifies a connection to this client on the server. Note that the value of this property does not necessarily correspond with the session ID on the server side.



property ConnectionId: TGUID read write


ConnectionWaitTimeout   protected     (declared in TROBaseSuperChannel)

The timeout to establish connection to the server. Expressed in milliseconds, the default value is 10000 (10 sec).



property ConnectionWaitTimeout: Integer read write


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


DisableNagle     (declared in TROBaseSuperHTTPChannel)

Controls whether data packets are sent individually or if small packets are held back to send as part of fewer larger data packets. Normally, you will want this disabled as it can have a significant effect on performance. The only time when its worth keeping the property enabled is when there are many small packets to be sent and you need to keep network bandwidth to a minimum.

See more at wikipedia.org



property DisableNagle: Boolean read write


DispatchOptions     (declared in TROBaseSuperChannel)

Configures the available fail-over and load balancing options provided by the RemObjects SDK. By default, channels are set up to talk to one specific server only. Two independent options are available to provide fail-over and load balancing:

  • Enables fail-over support. If the connection to any given server fails, the channel will automatically keep trying the next server specified in ServerLocators, until a working server is found or all servers have been tried.
  • Enables load-balancing support. Each request dispatched through the channel will go to a different server configured in ServerLocators, resulting in calls being more or less equally distributed over the available servers.

Enabling any of these options obviously requires the server to be implemented in a stateless way, so that it does not depend on all requests from a client going to the same server. This implies using a class factory different from Per-Client and, if sessions are used, a session manager that allows sharing of session state between servers.



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


HTTPRequestTimeout     (declared in TROBaseSuperHTTPChannel)

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 (milliseconds, i.e. 10 seconds).



property HTTPRequestTimeout: Integer read write


isProbeMode   protected     (declared in TROTransportChannel)

Returns True if channel is used for probing purposes



property isProbeMode: Boolean read


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


MinSizeForGzipEncoding     (declared in TROBaseSuperHTTPChannel)

The maximum size for data packages that the channel can send (default is 10MB).



property MinSizeForGzipEncoding: integer read write


NeedDecodeResponse   protected     (declared in TROBaseSuperHTTPChannel)

Specifies that server response should be decoded



property NeedDecodeResponse: Boolean 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     (declared in TROBaseSuperHTTPChannel)

Fires when channel is connected to server



property OnConnected:


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:


ProbeFrequency     (declared in TROBaseSuperChannel)

Sets at what intervals, in milliseconds, the channel will probe the servers configured in ServerLocators for availability. The default value is 60,000 (60 seconds). See the ProbeServers property for a more detailed description. Although somewhat misnamed, this property defines the Interval between probes, not the actual probing Frequency. The property name is persisted for backward compatibility.



property ProbeFrequency:


ProbeServers     (declared in TROBaseSuperChannel)

Toggles whether the channel will continuously probe the servers configured in ServerLocators for availability. If enabled (true), the channel will ping all servers at a regular interval to determine if they are reachable. If a server fails to respond, it will be disabled for future calls until a later probe can reach it again. The interval between probes can be configured using the ProbeFrequency property. By default, server probing is turned off.



property ProbeServers:


ReconnectDelay   protected     (declared in TROBaseSuperChannel)

The time interval to pass between reconnect attempts, in millisecnds. The default is 500 (0.5 second).



property ReconnectDelay: Integer read write


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


ServerAcceptEncodingModes   protected     (declared in TROBaseSuperHTTPChannel)

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 ServerAcceptEncodingModes: TROHTTPAcceptEncodingModes read write


ServerLocators     (declared in TROBaseSuperChannel)

Optionally, this collection property can be filled to contain a list of possible servers to be used for fail-over or load balancing purposes. Depending on the settings configured in DispatchOptions, the channel will automatically spread calls over the available servers, or fall back to another server if one fails.



property ServerLocators:


SessionId     (declared in TROBaseSuperHTTPChannel)

GUID that uniquely identifies each client and allows the server to determine which calls are received from the same client. This property is used for Session Management.



property SessionId:


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)

Determines whether server probing happens in the context of the main VCL thread (true, default) or in a background worker thread. See the ProbeServers property for a more detailed description.



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

Creates a new instance.


constructor Create(aOwner: TCOmponent)


Parameters:

  • aOwner: Owner component.


destructor Destroy   override

The standard destructor.


destructor Destroy


Assign   override     (declared in TROBaseSuperHTTPChannel)

Copies the contents of another, similar object.


procedure Assign(aSource: TPersistent)


Parameters:

  • aSource:


AsyncException   protected virtual     (declared in TROTransportChannel)

Notifies about an exception in an asynchronous mode.


procedure AsyncException(aAsyncInterface: IROAsyncInterface; AsyncException: Exception)


Parameters:

  • aAsyncInterface:
  • AsyncException:


BeforeDispatch   protected override     (declared in TROBaseSuperChannel)

Allows an implimentation to do necessary preparatory actions (checking the readiness of the channel, restore session data, etc.).


procedure BeforeDispatch(aMessage: IROMessage)


Parameters:

  • aMessage:


CalcRequestStreamSize   protected     (declared in TROBaseSuperHTTPChannel)

Calculates size of incoming package.


function CalcRequestStreamSize(const aData: TStream): integer


Parameters:

  • aData:


CallbackEvents   protected     (declared in TROBaseActiveEventChannel)

Sends event to each registered IROEventReceiver


procedure CallbackEvents(aData: TStream; aThread: TThread)


Parameters:

  • aData:
  • aThread:


CancelRequest   protected override

Cancels the specified request to stop the threads when overridden.


procedure CancelRequest(aWaitingThread: Boolean)


Parameters:

  • aWaitingThread: Specified waiting thread that should be stopped


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)

Validates channel properties


procedure CheckProperties


CheckStatus   protected     (declared in TROBaseSuperChannel)



function CheckStatus(const iMessageID: string): Boolean


Parameters:

  • iMessageID:


CreateWorkerThread   protected override     (declared in TROBaseSuperHTTPChannel)



function CreateWorkerThread: TThread


DecodeEventStream   protected     (declared in TROTransportChannel)

Decrypts the stream.


procedure DecodeEventStream(const aStream: TStream)


Parameters:

  • aStream:


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

Sends a request message through the Self channel for processing and gets back an aMessage. CodeGen uses this method when generating a proxy from RODL Files.


procedure Dispatch(aMessage: IROMessage)


Parameters:

  • aMessage:


DispatchHTTPRequest   protected override

Dispatches the HTTP request to the server and gets the response when overridden.


procedure DispatchHTTPRequest(aWaitingThread: Boolean; aRequest: TStream; out aResponse: TStream)


Parameters:

  • aWaitingThread: If true, this parameter uses the HTTP client for the waiting thread instead of the requesting thread
  • aRequest: Request body
  • aResponse: Response data


DoAfterEncryptEvent   protected virtual obsolete     (declared in TROBaseConnection)



procedure DoAfterEncryptEvent(aEncryptedStream: TStream)


Parameters:

  • aEncryptedStream:


DoAfterProbingServerEvent   protected override     (declared in TROBaseSuperChannel)

Fires OnAfterProbingServer event


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


Parameters:

  • aServerLocator:
  • Failed:


DoAfterProbingServersEvent   protected override     (declared in TROBaseSuperChannel)

Fires OnAfterProbingServers event


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)

Fires OnBeforeProbingServer event


procedure DoBeforeProbingServerEvent(const aServerLocator: TROServerLocator)


Parameters:

  • aServerLocator:


DoBeforeProbingServersEvent   protected override     (declared in TROBaseSuperChannel)

Fires OnBeforeProbingServers event


procedure DoBeforeProbingServersEvent


DoConnectedEvent   protected virtual     (declared in TROBaseSuperChannel)



procedure DoConnectedEvent


DoConnectedEvent_Synch   protected     (declared in TROBaseSuperChannel)



procedure DoConnectedEvent_Synch


DoDecodeStream   protected     (declared in TROBaseSuperHTTPChannel)

Performs GZIP decoding


procedure DoDecodeStream(const aSource: TStream; const aDest: TStream)


Parameters:

  • aSource:
  • aDest:


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     (declared in TROBaseSuperHTTPChannel)



procedure DoDisconnect


DoDisconnectedEvent   protected virtual     (declared in TROBaseSuperChannel)



procedure DoDisconnectedEvent


DoDisconnectedEvent_Synch   protected     (declared in TROBaseSuperChannel)



procedure DoDisconnectedEvent_Synch


DoEncodeStream   protected     (declared in TROBaseSuperHTTPChannel)

Performs GZIP encoding


procedure DoEncodeStream(const aSource: TStream)


Parameters:

  • aSource:


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)

Fires OnException event


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


Parameters:

  • anException:
  • aRetry:


DoInitialConnect   protected override     (declared in TROBaseSuperHTTPChannel)



procedure DoInitialConnect


DoInvalidClientIDEvent   protected virtual     (declared in TROBaseSuperHTTPChannel)

Calls OnInvalidClientID event


procedure DoInvalidClientIDEvent(var aReconnect: Boolean)


Parameters:

  • aReconnect:


DoLoginNeeded   protected virtual     (declared in TROTransportChannel)

Fires OnLoginNeeded event


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)

Fires OnReceiveStream event


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)

Fires OnSendStream event


procedure DoSendStreamEvent(const aStream: TStream)


Parameters:

  • aStream:


DoServerLocatorAssignmentEvent   protected override     (declared in TROBaseSuperChannel)

Fires OnServerLocatorAssignment event


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:


GetCanUseContentEncoding   protected     (declared in TROBaseSuperHTTPChannel)

Gets CanUseContentEncoding value.


function GetCanUseContentEncoding: Boolean


GetClientAddress   protected override

Returns an IP address of a client.


function GetClientAddress: string


GetConnected   protected virtual     (declared in TROBaseSuperChannel)



function GetConnected: Boolean


GetContentType   protected override

Returns the Content-Type header in the client's request when overridden.


function GetContentType: string


GetHeaders   protected override

Returns the header with the specified name in the client's request when overridden.


function GetHeaders(const aName: string): string


Parameters:

  • aName: Specified header name


GetLocation   protected override

Returns the host URL with the prefix 'http' when overridden.


function GetLocation: string


GetMaxPackageSize   protected virtual     (declared in TROBaseSuperChannel)



function GetMaxPackageSize: Longint


GetPathInfo   protected override

Returns the virtual path to the specified service when overridden.


function GetPathInfo: string


GetQueryParameter   protected override

Returns the request query parameter with the specified name when overridden.


function GetQueryParameter(const aName: string): string


Parameters:

  • aName: Name of parameter


GetQueryString   protected override

When overridden, this method returns the corresponding part of the HTTP query string.


function GetQueryString: string


GetStrippedTargetUrl   protected virtual     (declared in TROBaseSuperChannel)



function GetStrippedTargetUrl: string


GetTransportObject   protected override     (declared in TROBaseSuperChannel)

Returns itself.


function GetTransportObject: TObject


GetUserAgent   protected override

Returns the User-Agent header value of the current request when overridden.


function GetUserAgent: string


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)

Sets CurrentLocator


function InitServerLocator: Integer


InitWorkerThread   protected     (declared in TROBaseSuperChannel)



procedure InitWorkerThread


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     (declared in TROBaseSuperHTTPChannel)

Invokes the specified client's request and returns a server response based on this client's request. If aGetResponse is true, the current request will be added to the collection of waiting requests.


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


Parameters:

  • aRequest:
  • aGetResponse:
  • aEvent:


IsEncryptionUsed   protected     (declared in TROTransportChannel)

Specifies current Encryption status


function IsEncryptionUsed: Boolean


Notification   protected override     (declared in TROBaseSuperChannel)

Forwards notification messages to all owned components.


procedure Notification(AComponent: TComponent; Operation: TOperation)


Parameters:

  • AComponent:
  • Operation:


Probe   protected     (declared in TROTransportChannel)

Checks the accessibility of servers from the ServerLocators. This method is intended to provide fail-over and load balancing support in the RemObjects SDK Architecture.


function Probe(aServerLocator: TROServerLocator): boolean


Parameters:

  • aServerLocator:


ProbeAll   protected     (declared in TROTransportChannel)

Checks the availability of all known servers.


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)

Resets channel that is used for probing


procedure ResetProbingClone(aProbe: TROTransportChannel)


Parameters:

  • aProbe:


RetrieveMetadata   protected virtual     (declared in TROTransportChannel)

Retrieves metadata from server


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)

This method is used for to obtaining the RODL library from the server without havin to rely on a channel-specific mechanism (such as a HTTP request to http://servername:port/rodl).


procedure RetrieveRODL(out RODLLibrary: TRODLLibrary)


Parameters:

  • RODLLibrary:


ROFreeNotification     (declared in TROComponent)

Forwards notification messages to all owned RO components.


procedure ROFreeNotification(AComponent: TComponent)


Parameters:

  • AComponent:


RORemoveFreeNotification     (declared in TROComponent)

Disables destruction notification for specified RO component.


procedure RORemoveFreeNotification(AComponent: TComponent)


Parameters:

  • AComponent:


SendRemoveNotification   protected     (declared in TROComponent)

Sends remove notification to specified component


procedure SendRemoveNotification(AComponent: TComponent)


Parameters:

  • AComponent:


SetCanUseContentEncoding   protected     (declared in TROBaseSuperHTTPChannel)

Sets CanUseContentEncoding value.


procedure SetCanUseContentEncoding(const aValue: Boolean)


Parameters:

  • aValue:


SetConnectedState   protected     (declared in TROBaseSuperChannel)



procedure SetConnectedState


SetContentType   protected override

Sets the Content-Type header in the current client's request when overridden.


procedure SetContentType(const aValue: string)


Parameters:

  • aValue: Specified value of the Content-Type header


SetHeaders (Boolean, string, string)   protected override

Sets the new value of the client's header with the specified value when overridden.


procedure SetHeaders(aWaitingThread: Boolean; const aName: string; const aValue: string)


Parameters:

  • aWaitingThread: Specifies which implementation will be used
  • aName: Specified client's header name
  • aValue: Specified client's header value


SetHeaders (string, string)   protected override

Sets the new value of the client's header with the specified value when overridden.


procedure SetHeaders(const aName: string; const aValue: string)


Parameters:

  • aName: Specified client's header name
  • aValue: Specified client's header value


SetInactive   protected     (declared in TROBaseSuperChannel)



procedure SetInactive


SetMaxPackageSize   protected virtual     (declared in TROBaseSuperChannel)



procedure SetMaxPackageSize(val: longint)


Parameters:

  • val:


SetPathInfo   protected override

Sets a virtual path to the specified service when overridden.


procedure SetPathInfo(const aValue: string)


Parameters:

  • aValue: Specified virtual path


SetServerLocator   protected     (declared in TROTransportChannel)

Retrieves the location details of a server from aServerLocator.


procedure SetServerLocator(aServerLocator: TROServerLocator; anException: Exception)


Parameters:

  • aServerLocator:
  • anException:


SetUserAgent   protected override

Sets the new value of the User-Agent header of the current request when overridden.


procedure SetUserAgent(const aValue: string)


Parameters:

  • aValue: Specified value of the User-Agent header


SocketConnectedRequest   protected



procedure SocketConnectedRequest(Sender: TObject)


Parameters:

  • Sender:


SocketConnectedWait   protected



procedure SocketConnectedWait(Sender: TObject)


Parameters:

  • Sender:


SuperChannel_RaiseError   protected override     (declared in TROBaseSuperHTTPChannel)



procedure SuperChannel_RaiseError(ACode: Integer)


Parameters:

  • ACode:


TerminateWorkerThread   protected     (declared in TROBaseSuperChannel)



procedure TerminateWorkerThread


TriggerProgress   protected override     (declared in TROBaseSuperChannel)

Fires OnProgress event


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)

Fires when exception is raised in asynchronous mode



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)


OnInvalidClientID     (declared in TROBaseSuperHTTPChannel)

Fires when the server returns a response with error code for an unregistered connection with the client.



property OnInvalidClientID: TROOnInvalidClientIdHandler read write delegate: procedure Invoke(Sender: TObject; var aReconnect: 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


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