Home > Class Reference > ENSLIB namespace > EnsLib.TCP.Common


abstract class EnsLib.TCP.Common extends %RegisteredObject


Parameters Properties Methods Queries Indices ForeignKeys Triggers
4 11 4


%logConnections Connected Device IOAddr
LocalInterface OldIO ReadTimeout SSLConfig
Socket StayConnected Terminators
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
FlushWrite GetAddress IsReadError IsWriteError
EnsLib.TCP.InboundAdapter EnsLib.TCP.OutboundAdapter


parameter InputBufferSize = 32767;
parameter Mode = "S";
The Device Mode that will be used to open the TCP socket
parameter OutputBufferSize = 32767;
parameter SETTINGS = "StayConnected:Connection,ReadTimeout:Connection,SSLConfig:Connection:sslConfigSelector,LocalInterface:Connection:selector?context={Ens.ContextSearch/TCPLocalInterfaces}";


property %logConnections as %Boolean [ InitialExpression = 1 ];
Local flag controlling logging of connection and disconnection events.
property Connected as %Boolean [ InitialExpression = 0 ];
property Device as %String;
property IOAddr as %String;
String naming remote TCP/IP address:port, and local port if applicable
property LocalInterface as %String(MAXLEN=250);
In a multi-homed system, specify which network interface the TCP connection should go through. An empty value means to use any interface.
To be able to bind to IPv6 interfaces you may need to enable IPv6 in your InterSystems IRIS instance. This is done in the System Management Portal under System Administration > Configuration > Additional Settings > Startup, by editing the IPv6 setting.
property OldIO as %String(MAXLEN=1000) [ InitialExpression = 0 ];
property ReadTimeout as %Numeric(MINVAL=0) [ InitialExpression = 5 ];
Number of seconds to wait for each successive incoming TCP read, following receipt of initial data from remote TCP port.
property SSLConfig as %String;
The name of an existing SSL/TLS system configuration to use (Secure Socket Layer / Transport Layer Security), which can be configured in the System Management Portal under System Administration > Security.

If your SSL Configuration requires you to supply a password for the local private key file, specify it in the Private key password property of the SSL/TLS Configuration.

property Socket as %IO.DeviceStream;
IOStream object for TCP device
property StayConnected as %Numeric(MINVAL=-1) [ InitialExpression = -1 ];
The default value of -1 means to stay permanently connected, even during idle times, and treat a disconnection as an error.
If the value is a positive number, then the adapter will stay connected to the remote system between handling requests until idle for this number of seconds.
A zero value means to disconnect immediately after every input event.
property Terminators as %String;
Read-terminator character or characters, if any, for subclasses that do terminated reads.


classmethod FlushWrite()
method GetAddress() as %String
classmethod IsReadError(pSC As %Status) as %Boolean
classmethod IsWriteError(pSC As %Status) as %Boolean