TROSynapseSuperTCPServer

Overview

The Synapse based implementation of the server side Super TCP Channel. Exposes no new public functionality compared to it's ancestor TROBaseSuperTCPServer, please read ancestor's documentation for more information.
Use this channel class if enhanced TCP based channel functionality is required and Synapse is preferred communication level library.

Location

 

constructor Create  override    (declared in TROBaseSuperTCPServer)

Standard component constructor

constructor Create(aOwner: TComponent)

Parameters:

  • aOwner: Owner

AckWaitTimeout    (declared in TROBaseSuperTCPServer)

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

property AckWaitTimeout: Integer read write

Active    (declared in TROServer)

Toggles whether the server ready to receive requests from clients. Depending on the server type, changing this property might open/close a network socket or otherwise toggle whether the server will process incoming requests.

property Active: Boolean read write

Assign  override    (declared in TROBaseSuperTCPServer)

Copies the contents of another, similar object.

procedure Assign(Source: TPersistent)

Parameters:

  • Source: Instance whose properties will be copied

AutoRegisterSession    (declared in TROBaseSuperTCPServer)

This property is used by the server to automatically sign new clients up to the event repository, to make it possible fo them to receive events without manual registration.

property AutoRegisterSession: Boolean read write

BaseSuperServerConnection  protected    (declared in TROBaseSuperTCPServer)

Reference to TROBaseSuperServerConnection that was created with CreateBaseSuperServerConnection method

property BaseSuperServerConnection: TROBaseSuperTcpServerConnection read

BindV4

Gets or sets the flag indicating whether the server should listen for IPv4 connections.

Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true).

property BindV4: Boolean read write

BindV6

Gets or sets the flag indicating whether the server should listen for IPv6 connections.

Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true).

property BindV6: Boolean read write

BlockingEvents    (declared in TROBaseSuperTCPServer)

Affects processing events on the server. Setting BlockingEvents=true can makes delay in dispatching events, in this case dispatching event through clients will happen in the main thread of the server and suspends it. This value is useful however when you want to make sure events arrive in order. If you want possibility to process multiply events at once you should use default value BlockingEvents=false, event is put in the queue and will be dispatched in separate thread. In this case you'll possibly need to control thread pool queue from overflow using ThreadPool.MaxQueue, ThreadPool.MaxThreads properties.

property BlockingEvents: Boolean read write

CheckProperties  virtual    (declared in TROServer)

Validates the server properties.

procedure CheckProperties

CreateBaseSuperServerConnection  protected override

Creates TROBaseSuperServerConnection implementation according to used library

function CreateBaseSuperServerConnection: TROBaseSuperTcpServerConnection

DecryptStream (TStream, TStream)  protected overload    (declared in TROBaseConnection)

Decrypt stream

procedure DecryptStream(const Source: TStream; const Dest: TStream)

Parameters:

  • Source: Source
  • Dest: Destination

DecryptStream (TStream)  protected overload    (declared in TROBaseConnection)

Decrypt stream

procedure DecryptStream(const Stream: TStream)

Parameters:

  • Stream: Stream

DefaultResponse    (declared in TROBaseSuperTCPServer)

Holds the message that will be sent back to the client if it improperly "welcomes" the server.

property DefaultResponse: string read write

DisconnectAllClients    (declared in TROBaseSuperTCPServer)

procedure DisconnectAllClients

Dispatchers    (declared in TROServer)

Specifies how incoming requests will be processed and dispatched. Depending on the server type, one or multiple dispatchers can be configured to receive messages from the client. Each dispatcher consists of a Message and an optional Name. Also, each dispatcher can be individually enabled or disabled. Each server must have at least one dispatcher configured, in order to be able to process messages.

=Essential Sub-Properties=

  • Message specifies the message format to be used for this dispatcher.
  • Name specifies the name, or possibly the URL for the dispatcher.

In HTTP based servers (such as the TROIndyHTTPServer, the Name will be appended as folder to the server URL allowing the server to make multiple dispatchers available at different URLs.

property Dispatchers: TROMessageDispatchers read write

DispatchMessage (IROTransport, TStream, TStream): Boolean  protected overload    (declared in TROServer)

function DispatchMessage(const aTransport: IROTransport; aRequeststream: TStream; aResponsestream: TStream): Boolean

Parameters:

  • aTransport:
  • aRequeststream:
  • aResponsestream:

DispatchMessage (IROTransport, TStream, TStream, TROResponseOptions): Boolean  protected overload    (declared in TROServer)

function DispatchMessage(const aTransport: IROTransport; aRequestStream: TStream; aResponseStream: TStream; out oResponseOptions: TROResponseOptions): Boolean

Parameters:

  • aTransport:
  • aRequestStream:
  • aResponseStream:
  • oResponseOptions:

DoBeforeDecryptEvent  protected virtual    (declared in TROBaseConnection) obsolete

procedure DoBeforeDecryptEvent(aEncryptedStream: TStream)

Parameters:

  • aEncryptedStream: Stream

DoMaxThreadLimitReached  protected    (declared in TROBaseSuperTCPServer)

Calls OnMaxThreadLimitReached event

procedure DoMaxThreadLimitReached

Encryption    (declared in TROBaseConnection) obsolete

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

EncryptStream (TStream, TStream)  protected overload    (declared in TROBaseConnection)

Encrypt stream

procedure EncryptStream(const Source: TStream; const Dest: TStream)

Parameters:

  • Source: Source
  • Dest: Destination

EncryptStream (TStream)  protected overload    (declared in TROBaseConnection)

Encrypt stream

procedure EncryptStream(const Stream: TStream)

Parameters:

  • Stream: Stream

EventRepository    (declared in TROBaseSuperTCPServer)

Specifies the event repository.

property EventRepository: TROEventRepository read write

GetDispatchersClass  protected virtual    (declared in TROServer)

Returns TROMessageDispatchers class

function GetDispatchersClass: TROMessageDispatchersClass

GetRODLReader  protected    (declared in TROServer)

function GetRODLReader: TROCustomRODLReader

GetSecure  protected virtual    (declared in TROServer)

function GetSecure: Boolean

GetServerType  protected override    (declared in TROBaseSuperTCPServer)

Returns rstSuperTCP. This property is used by the ZeroConf infrastructure.

function GetServerType: TROServerType

GetServiceMetaData  protected    (declared in TROServer)

function GetServiceMetaData(aServiceName: string; aOptions: string; out aContentType: string): TStream

Parameters:

  • aServiceName:
  • aOptions:
  • aContentType:

GetTransportObject  protected    (declared in TROServer)

Returns itself.

function GetTransportObject: TObject

HasData  protected    (declared in TROBaseSuperTCPServer)

This method is called when incoming data is present.

procedure HasData(Id: Integer; aClient: TROSCServerWorker; aData: TStream)

Parameters:

  • Id:
  • aClient:
  • aData:

IgnoreSSL

property IgnoreSSL: Boolean read write

IsEncryptionUsed  protected    (declared in TROBaseConnection)

Checks if encryption was used

function IsEncryptionUsed: Boolean

IsServiceAllowed  protected    (declared in TROServer)

function IsServiceAllowed(Value: string): Boolean

Parameters:

  • Value:

IsStreamEncrypted  protected    (declared in TROBaseConnection)

Checks state of stream

function IsStreamEncrypted(Source: TStream): Boolean

Parameters:

  • Source: Stream

MaxPackageSize    (declared in TROBaseSuperTCPServer)

Sets the maximum size of data package that the server will receive (default is 10485760, i.e. 10MB). This is to prevent a larger package than intended from being sent to the server.

property MaxPackageSize: Integer read write

Notification  protected override    (declared in TROBaseSuperTCPServer)

Forwards notification messages to all owned components.

procedure Notification(AComponent: TComponent; Operation: TOperation)

Parameters:

  • AComponent: component
  • Operation: operation

OnAfterEncrypt    (declared in TROBaseConnection)

Fired after stream was encrypted

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

OnAfterServerActivate    (declared in TROServer)

Fires after the server has been activated.

property OnAfterServerActivate: TNotifyEvent read write

OnAfterServerDeactivate    (declared in TROServer)

Fires after the server has been deactivated. You can use this event handler to perform any cleanup you might need after the server has stopped processing new requests.

property OnAfterServerDeactivate: TNotifyEvent read write

OnBeforeChannelDestroy    (declared in TROBaseSuperTCPServer)

This event is fired before channel is destroyed.

property OnBeforeChannelDestroy: TROSuperServerEvent read write
delegate: procedure OnBeforeChannelDestroy(aChannel: IROTransport)

OnBeforeDecrypt    (declared in TROBaseConnection)

Fired before stream will be decrypted

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

OnBeforeServerActivate    (declared in TROServer)

Fires just before the server is activated. You can use this event handler to perform any initialization you might need before the server starts processing new requests.

property OnBeforeServerActivate: TNotifyEvent read write

OnBeforeServerDeactivate    (declared in TROServer)

Fires just before the server is deactivated. You can use this event handler to perform any cleanup you might need before the server stops processing new requests.

property OnBeforeServerDeactivate: TNotifyEvent read write

OnClientConnected    (declared in TROBaseSuperTCPServer)

This event is fired when client connects to the server.

property OnClientConnected: TROConnectionEvent read write
delegate: procedure OnClientConnected(aChannel: IROTransport; const aGuid: TGUID)

OnClientDisconnected    (declared in TROBaseSuperTCPServer)

This event is fired when client disconnects from the server.

property OnClientDisconnected: TROConnectionEvent read write
delegate: procedure OnClientDisconnected(aChannel: IROTransport; const aGuid: TGUID)

OnGetRODLReader    (declared in TROServer)

property OnGetRODLReader: TROGetRODLReader read write
delegate: procedure OnGetRODLReader(Sender: TROServer; var aRODLReader: TROCustomRODLReader)

OnMaxThreadLimitReached    (declared in TROBaseSuperTCPServer)

Fires when an incoming connection is rejected due to exceed the MaxThreads.

property OnMaxThreadLimitReached: TNotifyEvent read write

OnReadFromStream    (declared in TROServer)

Fires after a stream with a request message has been received from the client. The event handler can inspect and possibly modify the stream, before it continues to be processed by the higher levels of the Remoting SDK framework.

property OnReadFromStream: TStreamOperation read write
delegate: procedure OnReadFromStream(aStream: TStream)

OnWriteToStream    (declared in TROServer)

Fires just before a stream with a response message is sent back to the client. The event handler can inspect and possibly modify the stream, before it continues to be sent off to the client.

property OnWriteToStream: TStreamOperation read write
delegate: procedure OnWriteToStream(aStream: TStream)

Port    (declared in TROBaseSuperTCPServer)

This is the network socket where the server will be listening (default for the Remoting SDK Super TCP servers is 8095).

property Port: Integer read write

ROFreeNotification    (declared in TROComponent)

Forwards notification messages to all owned components.

procedure ROFreeNotification(aComponent: TComponent)

Parameters:

  • aComponent: component

RORemoveFreeNotification    (declared in TROComponent)

Forwards notification messages to all owned components.

procedure RORemoveFreeNotification(aComponent: TComponent)

Parameters:

  • aComponent: component

SendRemoveNotification  protected    (declared in TROComponent)

Forwards notification messages to all owned components.

procedure SendRemoveNotification(aComponent: TComponent)

Parameters:

  • aComponent: component

ServeRodl    (declared in TROServer)

Specifies whether the server will make the contained RODL file available to clients (true, default) or not. Keep this property set to true if clients need to access the RODL (or WSDL), for example so that third parties (including Service Tester) can import services. Set it to false if you do not want to provide this information, for example for security reasons.

property ServeRodl: Boolean read write

ServerV4

Provides read-only access to the underlying server object that wraps the server socket.

property ServerV4: TROSynapseServerSocket read

ServerV6

Provides read-only access to the underlying server object that wraps the server socket.

property ServerV6: TROSynapseServerSocket read

ServiceGroup    (declared in TROServer)

Allows to get/set Service Groups

property ServiceGroup: string read write

SkipAck    (declared in TROBaseSuperTCPServer)

Defines whether "acknowledgement" message are skipped.

property SkipAck: Boolean read write

ThreadPool    (declared in TROBaseSuperTCPServer)

Allows to set a custom thread pool object to process incoming requests using a set of threads. When not assigned explicitly the thread pool is created and assigned automatically. Assigning this property by users is a rare need, this is required only when precise and/or custom control over processing threads is necessary.

property ThreadPool: TROThreadPool read write

TriggerReadFromStream  protected    (declared in TROServer)

Fires the OnReadFromStream event

procedure TriggerReadFromStream(aSource: TStream)

Parameters:

  • aSource: stream

TriggerWriteToStream  protected    (declared in TROServer)

Fires the OnReadFromStream event

procedure TriggerWriteToStream(aDest: TStream)

Parameters:

  • aDest: stream

 

AckWaitTimeout    (declared in TROBaseSuperTCPServer)

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

property AckWaitTimeout: Integer read write

Active    (declared in TROServer)

Toggles whether the server ready to receive requests from clients. Depending on the server type, changing this property might open/close a network socket or otherwise toggle whether the server will process incoming requests.

property Active: Boolean read write

AutoRegisterSession    (declared in TROBaseSuperTCPServer)

This property is used by the server to automatically sign new clients up to the event repository, to make it possible fo them to receive events without manual registration.

property AutoRegisterSession: Boolean read write

BaseSuperServerConnection  protected    (declared in TROBaseSuperTCPServer)

Reference to TROBaseSuperServerConnection that was created with CreateBaseSuperServerConnection method

property BaseSuperServerConnection: TROBaseSuperTcpServerConnection read

BindV4

Gets or sets the flag indicating whether the server should listen for IPv4 connections.

Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true).

property BindV4: Boolean read write

BindV6

Gets or sets the flag indicating whether the server should listen for IPv6 connections.

Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true).

property BindV6: Boolean read write

BlockingEvents    (declared in TROBaseSuperTCPServer)

Affects processing events on the server. Setting BlockingEvents=true can makes delay in dispatching events, in this case dispatching event through clients will happen in the main thread of the server and suspends it. This value is useful however when you want to make sure events arrive in order. If you want possibility to process multiply events at once you should use default value BlockingEvents=false, event is put in the queue and will be dispatched in separate thread. In this case you'll possibly need to control thread pool queue from overflow using ThreadPool.MaxQueue, ThreadPool.MaxThreads properties.

property BlockingEvents: Boolean read write

DefaultResponse    (declared in TROBaseSuperTCPServer)

Holds the message that will be sent back to the client if it improperly "welcomes" the server.

property DefaultResponse: string read write

Dispatchers    (declared in TROServer)

Specifies how incoming requests will be processed and dispatched. Depending on the server type, one or multiple dispatchers can be configured to receive messages from the client. Each dispatcher consists of a Message and an optional Name. Also, each dispatcher can be individually enabled or disabled. Each server must have at least one dispatcher configured, in order to be able to process messages.

=Essential Sub-Properties=

  • Message specifies the message format to be used for this dispatcher.
  • Name specifies the name, or possibly the URL for the dispatcher.

In HTTP based servers (such as the TROIndyHTTPServer, the Name will be appended as folder to the server URL allowing the server to make multiple dispatchers available at different URLs.

property Dispatchers: TROMessageDispatchers read write

Encryption    (declared in TROBaseConnection) obsolete

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

EventRepository    (declared in TROBaseSuperTCPServer)

Specifies the event repository.

property EventRepository: TROEventRepository read write

IgnoreSSL

property IgnoreSSL: Boolean read write

MaxPackageSize    (declared in TROBaseSuperTCPServer)

Sets the maximum size of data package that the server will receive (default is 10485760, i.e. 10MB). This is to prevent a larger package than intended from being sent to the server.

property MaxPackageSize: Integer read write

Port    (declared in TROBaseSuperTCPServer)

This is the network socket where the server will be listening (default for the Remoting SDK Super TCP servers is 8095).

property Port: Integer read write

ServeRodl    (declared in TROServer)

Specifies whether the server will make the contained RODL file available to clients (true, default) or not. Keep this property set to true if clients need to access the RODL (or WSDL), for example so that third parties (including Service Tester) can import services. Set it to false if you do not want to provide this information, for example for security reasons.

property ServeRodl: Boolean read write

ServerV4

Provides read-only access to the underlying server object that wraps the server socket.

property ServerV4: TROSynapseServerSocket read

ServerV6

Provides read-only access to the underlying server object that wraps the server socket.

property ServerV6: TROSynapseServerSocket read

ServiceGroup    (declared in TROServer)

Allows to get/set Service Groups

property ServiceGroup: string read write

SkipAck    (declared in TROBaseSuperTCPServer)

Defines whether "acknowledgement" message are skipped.

property SkipAck: Boolean read write

ThreadPool    (declared in TROBaseSuperTCPServer)

Allows to set a custom thread pool object to process incoming requests using a set of threads. When not assigned explicitly the thread pool is created and assigned automatically. Assigning this property by users is a rare need, this is required only when precise and/or custom control over processing threads is necessary.

property ThreadPool: TROThreadPool read write

 

constructor Create  override    (declared in TROBaseSuperTCPServer)

Standard component constructor

constructor Create(aOwner: TComponent)

Parameters:

  • aOwner: Owner

Assign  override    (declared in TROBaseSuperTCPServer)

Copies the contents of another, similar object.

procedure Assign(Source: TPersistent)

Parameters:

  • Source: Instance whose properties will be copied

CheckProperties  virtual    (declared in TROServer)

Validates the server properties.

procedure CheckProperties

CreateBaseSuperServerConnection  protected override

Creates TROBaseSuperServerConnection implementation according to used library

function CreateBaseSuperServerConnection: TROBaseSuperTcpServerConnection

DecryptStream (TStream, TStream)  protected overload    (declared in TROBaseConnection)

Decrypt stream

procedure DecryptStream(const Source: TStream; const Dest: TStream)

Parameters:

  • Source: Source
  • Dest: Destination

DecryptStream (TStream)  protected overload    (declared in TROBaseConnection)

Decrypt stream

procedure DecryptStream(const Stream: TStream)

Parameters:

  • Stream: Stream

DisconnectAllClients    (declared in TROBaseSuperTCPServer)

procedure DisconnectAllClients

DispatchMessage (IROTransport, TStream, TStream): Boolean  protected overload    (declared in TROServer)

function DispatchMessage(const aTransport: IROTransport; aRequeststream: TStream; aResponsestream: TStream): Boolean

Parameters:

  • aTransport:
  • aRequeststream:
  • aResponsestream:

DispatchMessage (IROTransport, TStream, TStream, TROResponseOptions): Boolean  protected overload    (declared in TROServer)

function DispatchMessage(const aTransport: IROTransport; aRequestStream: TStream; aResponseStream: TStream; out oResponseOptions: TROResponseOptions): Boolean

Parameters:

  • aTransport:
  • aRequestStream:
  • aResponseStream:
  • oResponseOptions:

DoBeforeDecryptEvent  protected virtual    (declared in TROBaseConnection) obsolete

procedure DoBeforeDecryptEvent(aEncryptedStream: TStream)

Parameters:

  • aEncryptedStream: Stream

DoMaxThreadLimitReached  protected    (declared in TROBaseSuperTCPServer)

Calls OnMaxThreadLimitReached event

procedure DoMaxThreadLimitReached

EncryptStream (TStream, TStream)  protected overload    (declared in TROBaseConnection)

Encrypt stream

procedure EncryptStream(const Source: TStream; const Dest: TStream)

Parameters:

  • Source: Source
  • Dest: Destination

EncryptStream (TStream)  protected overload    (declared in TROBaseConnection)

Encrypt stream

procedure EncryptStream(const Stream: TStream)

Parameters:

  • Stream: Stream

GetDispatchersClass  protected virtual    (declared in TROServer)

Returns TROMessageDispatchers class

function GetDispatchersClass: TROMessageDispatchersClass

GetRODLReader  protected    (declared in TROServer)

function GetRODLReader: TROCustomRODLReader

GetSecure  protected virtual    (declared in TROServer)

function GetSecure: Boolean

GetServerType  protected override    (declared in TROBaseSuperTCPServer)

Returns rstSuperTCP. This property is used by the ZeroConf infrastructure.

function GetServerType: TROServerType

GetServiceMetaData  protected    (declared in TROServer)

function GetServiceMetaData(aServiceName: string; aOptions: string; out aContentType: string): TStream

Parameters:

  • aServiceName:
  • aOptions:
  • aContentType:

GetTransportObject  protected    (declared in TROServer)

Returns itself.

function GetTransportObject: TObject

HasData  protected    (declared in TROBaseSuperTCPServer)

This method is called when incoming data is present.

procedure HasData(Id: Integer; aClient: TROSCServerWorker; aData: TStream)

Parameters:

  • Id:
  • aClient:
  • aData:

IsEncryptionUsed  protected    (declared in TROBaseConnection)

Checks if encryption was used

function IsEncryptionUsed: Boolean

IsServiceAllowed  protected    (declared in TROServer)

function IsServiceAllowed(Value: string): Boolean

Parameters:

  • Value:

IsStreamEncrypted  protected    (declared in TROBaseConnection)

Checks state of stream

function IsStreamEncrypted(Source: TStream): Boolean

Parameters:

  • Source: Stream

Notification  protected override    (declared in TROBaseSuperTCPServer)

Forwards notification messages to all owned components.

procedure Notification(AComponent: TComponent; Operation: TOperation)

Parameters:

  • AComponent: component
  • Operation: operation

ROFreeNotification    (declared in TROComponent)

Forwards notification messages to all owned components.

procedure ROFreeNotification(aComponent: TComponent)

Parameters:

  • aComponent: component

RORemoveFreeNotification    (declared in TROComponent)

Forwards notification messages to all owned components.

procedure RORemoveFreeNotification(aComponent: TComponent)

Parameters:

  • aComponent: component

SendRemoveNotification  protected    (declared in TROComponent)

Forwards notification messages to all owned components.

procedure SendRemoveNotification(aComponent: TComponent)

Parameters:

  • aComponent: component

TriggerReadFromStream  protected    (declared in TROServer)

Fires the OnReadFromStream event

procedure TriggerReadFromStream(aSource: TStream)

Parameters:

  • aSource: stream

TriggerWriteToStream  protected    (declared in TROServer)

Fires the OnReadFromStream event

procedure TriggerWriteToStream(aDest: TStream)

Parameters:

  • aDest: stream

 

OnAfterEncrypt    (declared in TROBaseConnection)

Fired after stream was encrypted

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

OnAfterServerActivate    (declared in TROServer)

Fires after the server has been activated.

property OnAfterServerActivate: TNotifyEvent read write

OnAfterServerDeactivate    (declared in TROServer)

Fires after the server has been deactivated. You can use this event handler to perform any cleanup you might need after the server has stopped processing new requests.

property OnAfterServerDeactivate: TNotifyEvent read write

OnBeforeChannelDestroy    (declared in TROBaseSuperTCPServer)

This event is fired before channel is destroyed.

property OnBeforeChannelDestroy: TROSuperServerEvent read write
delegate: procedure OnBeforeChannelDestroy(aChannel: IROTransport)

OnBeforeDecrypt    (declared in TROBaseConnection)

Fired before stream will be decrypted

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

OnBeforeServerActivate    (declared in TROServer)

Fires just before the server is activated. You can use this event handler to perform any initialization you might need before the server starts processing new requests.

property OnBeforeServerActivate: TNotifyEvent read write

OnBeforeServerDeactivate    (declared in TROServer)

Fires just before the server is deactivated. You can use this event handler to perform any cleanup you might need before the server stops processing new requests.

property OnBeforeServerDeactivate: TNotifyEvent read write

OnClientConnected    (declared in TROBaseSuperTCPServer)

This event is fired when client connects to the server.

property OnClientConnected: TROConnectionEvent read write
delegate: procedure OnClientConnected(aChannel: IROTransport; const aGuid: TGUID)

OnClientDisconnected    (declared in TROBaseSuperTCPServer)

This event is fired when client disconnects from the server.

property OnClientDisconnected: TROConnectionEvent read write
delegate: procedure OnClientDisconnected(aChannel: IROTransport; const aGuid: TGUID)

OnGetRODLReader    (declared in TROServer)

property OnGetRODLReader: TROGetRODLReader read write
delegate: procedure OnGetRODLReader(Sender: TROServer; var aRODLReader: TROCustomRODLReader)

OnMaxThreadLimitReached    (declared in TROBaseSuperTCPServer)

Fires when an incoming connection is rejected due to exceed the MaxThreads.

property OnMaxThreadLimitReached: TNotifyEvent read write

OnReadFromStream    (declared in TROServer)

Fires after a stream with a request message has been received from the client. The event handler can inspect and possibly modify the stream, before it continues to be processed by the higher levels of the Remoting SDK framework.

property OnReadFromStream: TStreamOperation read write
delegate: procedure OnReadFromStream(aStream: TStream)

OnWriteToStream    (declared in TROServer)

Fires just before a stream with a response message is sent back to the client. The event handler can inspect and possibly modify the stream, before it continues to be sent off to the client.

property OnWriteToStream: TStreamOperation read write
delegate: procedure OnWriteToStream(aStream: TStream)