A generic, protocol-agnostic TCP adapter. Handles making connections. Traffic content is up to the associated Business Service class.
List of properties can be set as settings in the configuration file format is a comma separated list of property names parameter SINGLEPOOLJOB = 1;
Force a single listener job regardless of PoolSize setting
Optional comma-separated list of remote IP addresses to accept connections from. property JobPerConnection as %Boolean [ InitialExpression = 1 ];
You may enter a comma-separated list of remote IP addresses to accept connections from, with IP addresses in dotted decimal form for IPV4 and colon-hex form for IPV6, with optional :port for IPV4 and |port for IPV6, e.g.
192.168.1.22, 192.168.1.22:3298 or fe80::4c60:9595:7fb3:8139, fe80::4c60:9595:7fb3:8139|3298.
If :port or |port is specified, connections from other ports at the associated address will be refused.
If AllowedIPAddresses starts with a '!', the Adapter will initiate a connection to the specified address. In this case only one address may be given. If a port is included, it will supersede the value of the Port setting; otherwise the Port setting will be used to connect to the remote system.
Leaving this value empty means connections will be accepted from any remote IP address.
Spawn a new Job to handle each incoming TCP connection. Allows simultaneous handling of multiple connections. property Port as Ens.DataType.TCPAgentPort [ Required ];
Note that the performance of this setting can be affected by changing the configured QSize setting of this adapter and by configuring Job Servers as a system configuration option. Note also that when JobPerConnection=1, PoolSize is used to limit the number of connection jobs if it is configured with a value greater than 1.
TCP Port to connect to (integer value below 65536), may be prepended with @AgentName: property QSize as %Integer(MAXVAL=1000,MINVAL=0) [ InitialExpression = 100 ];
How many incoming connections should the OS hold open on our behalf until we get around to dealing with them?
Set to 0 if only one connection at a time is expected. Set to a large number if many clients will connecting rapidly.
method ConnectedSet(pValue As %Boolean) as %Status
This is a Set accessor method for the Connected property. method Disconnect()
abstract method OnConnected() as %Status
method OnInit() as %Status
This user callback method is called just after %OnNew() method OnKeepalive(pUnused As %Status) as %Status
This method is called from the Host.OnTask() method. It will be called within KeepaliveInterval of the last return from OnTask() or OnKeepalive(). method OnTask() as %Status
default InboundAdapter behavior: always call ProcessInput on CallInterval method OnTearDown() as %Status
This user callback method is called just before %OnClose() method TestConnection()
Fix up the properties reflecting our connection state in case we thought we were connected but we lost the socket. classmethod connectedJob(pBusinessServiceConfigName As %String, pPoolLimit As %Integer) as %Status