Skip to main content

%Net.Remote.Gateway

Class %Net.Remote.Gateway Extends %RegisteredObject [ System = 3 ]

Parameters

CONNECT

Parameter CONNECT [ Final ] = "Y0";

Messages

EXECUTEMETHOD

Parameter EXECUTEMETHOD [ Final ] = "Y1";

GENERATECLASSES

Parameter GENERATECLASSES [ Final ] = "Y2";

GETOBJECT

Parameter GETOBJECT [ Final ] = "Y3";

DISCONNECT

Parameter DISCONNECT [ Final ] = "Y4";

EXCEPTIONRAISED

Parameter EXCEPTIONRAISED [ Final ] = "Y5";

SHUTDOWN

Parameter SHUTDOWN [ Final ] = "Y6";

OBJECTCREATED

Parameter OBJECTCREATED [ Final ] = "Y9";

GETAVAILABLECLASSES

Parameter GETAVAILABLECLASSES [ Final ] = "YC";

SUCCESS

Parameter SUCCESS [ Final ] = "YY";

JAVASERVICE

Parameter JAVASERVICE [ Final ] = "YK";

LOADCOSCLASS

Parameter LOADCOSCLASS [ Final ] = "YL";

ADDTOCURRENTCLASSPATH

Parameter ADDTOCURRENTCLASSPATH [ Final ] = "YP";

PING

Parameter PING [ Final ] = "YQ";

LOADJAVACLASS

Parameter LOADJAVACLASS [ Final ] = "YZ";

LOADJAVACLASSSYNCH

Parameter LOADJAVACLASSSYNCH [ Final ] = "YW";

GETTIMESTAMP

Parameter GETTIMESTAMP [ Final ] = "YT";

INPUTTIMEOUT

Parameter INPUTTIMEOUT = 30;

Properties

GatewayDevice

Property GatewayDevice As %String(TRUNCATE = 1);

CurrentDevice

Property CurrentDevice As %String(TRUNCATE = 1);

CurrentDeviceStack

Property CurrentDeviceStack As %String(TRUNCATE = 1) [ MultiDimensional ];

Used by GatewayLight to save current device multiple times in case of reentrancy

SequenceNumber

Property SequenceNumber As %Integer [ MultiDimensional ];

Namespace

Property Namespace As %String(TRUNCATE = 1);

ClosedProxies

Property ClosedProxies As %String [ MultiDimensional ];

Closed

Property Closed As %Boolean;

ProtocolVersion

Property ProtocolVersion As %Integer;

connectParameters

Property connectParameters As %String(MAXLEN = "") [ Transient ];

connectClassPaths

Property connectClassPaths As %ListOfDataTypes [ Transient ];

AttemptReconnect

Property AttemptReconnect As %Boolean [ InitialExpression = 0 ];

SHMConnectString

Property SHMConnectString As %String;

ProxyObjectHolder

Property ProxyObjectHolder As %Library.RawString [ MultiDimensional ];

DisableOutputRedirect

Property DisableOutputRedirect As %Boolean;

ExternalLanguage

Property ExternalLanguage As %String;

ExternalLanguageVersion

Property ExternalLanguageVersion As %String;

IsUsingSharedMemory

Property IsUsingSharedMemory As %Boolean [ ReadOnly ];

xdbcConnection

Property xdbcConnection As %Boolean [ InitialExpression = 0 ];

OutputRedirectHandler

Property OutputRedirectHandler As %String;

Methods

%OnNew

Method %OnNew() As %Status

%Connect

Method %Connect(host As %String = "127.0.0.1", port As %Integer, namespace As %String = {$namespace}, timeout As %Numeric = 5, additionalClassPaths As %ListOfDataTypes = "", sslConfiguration As %String = "", Output isUsingSharedMemory, useSharedMemoryIfPossible As %Boolean, VerifySSLHostName As %Boolean = 0) As %Status [ Final ]

Connect to an External Language Server. To connect to an External Language Server by name, please pass empty string as first argument and Gateway name as second argument. Please note if a ELS definition is secure, then connecting by ELS name is required. Connecting using host and port only works for unsecure External Language Servers.

%Reconnect

Method %Reconnect() As %Status

isAlive

Method isAlive() As %Boolean

%Ping

ClassMethod %Ping(host As %String = "127.0.0.1", port As %Integer, timeout As %Numeric = 5, reuseSocket As %Boolean = 0, ByRef gatewayDevice As %String = "", ByRef serverFullName As %String = "", sslConfiguration As %String = "") As %Status [ Final ]

Check if an External Language Server still alive.
To connect to an External Language Server by name, please pass empty string as first argument and Gateway name as second argument Please note if a ELS definition is secure, then connecting by ELS name is required. Connecting using host and port only works for unsecure External Language Servers When parameter reuseSocket is true (the default is false), the TCP socket will not be opened or closed and it is up to the caller must ensure that the device is already opened.

%Disconnect

Method %Disconnect() As %Status [ Final ]

Close the connection

%OnClose

Method %OnClose() As %Status [ Private, ProcedureBlock = 1 ]

This callback method is invoked by the %Close method to provide notification that the current object is being closed.

The return value of this method is ignored.

%Shutdown

Method %Shutdown(timeout = 0) As %Status [ Final ]

Shut down the Gateway

sendOneShutdown

Method sendOneShutdown(soft = 0) As %Status [ Final ]

%Import

Method %Import(javaClass As %String, ByRef javaClasses As %ListOfDataTypes, additionalClassPaths As %ListOfDataTypes = "", exclusions As %ListOfDataTypes = "", verbose As %Boolean = 0) As %Status [ Final ]

Creates all necessary proxy classes

%RecastClass

ClassMethod %RecastClass(classname, verbose)

%LoadCOSClass

ClassMethod %LoadCOSClass(verbose As %Boolean = 0, currentDevice As %String = "", gatewayDevice As %String = "") As %Status [ Final ]

%AddToCurrentClassPath

Method %AddToCurrentClassPath(paths As %ListOfDataTypes, useProcessLoader As %Boolean = 0) As %Status [ Final ]

Add to current classpath

convertClassPaths

ClassMethod convertClassPaths(thelist, paths)

%ClassForName

Method %ClassForName(className As %String) As %Status [ Final ]

Calls Class.forName

%ClassForNameSynch

Method %ClassForNameSynch(className As %String) As %Status [ Final ]

%GetAllClasses

Method %GetAllClasses(jarFileName As %String, ByRef allClasses As %ListOfDataTypes, implements As %String = "") As %Status

Use the implements parameter to limit the classes to those implementing a specific interface The interface must be declared either in isc-gateway, or jarFileName JAR file

%GetTimestamp

Method %GetTimestamp(msgid As %Integer)

%GetException

Method %GetException() As %String [ Private ]

%SetStatus

ClassMethod %SetStatus(exception As %Exception.StatusException) As %Status

%RegUpdate

Method %RegUpdate()

%ExpressImport

ClassMethod %ExpressImport(name As %String, port As %Integer, host As %String = "127.0.0.1", silent As %Boolean = 0, additionalClassPaths As %ListOfDataTypes = "", exclusions As %ListOfDataTypes = "") As %ListOfDataTypes [ Final ]

Generate proxy classes for an External language module. To connect to an External Language Server by name, please pass empty string as first argument and Gateway name as second argument. Please note if a ELS definition is secure, then connecting by ELS name is required. Connecting using host and port only works for unsecure External Language Servers.

%RegisterSuperServer

ClassMethod %RegisterSuperServer(name As %String, host As %String, port As %Integer = 0) [ Final ]

%DeregisterSuperServer

ClassMethod %DeregisterSuperServer(name As %String) [ Final ]

%FindServerByHostPort

ClassMethod %FindServerByHostPort(host As %String, port As %Integer) As %String [ Final ]

%TerminateSuperServer

ClassMethod %TerminateSuperServer(name As %String, namespace As %String, deregister As %Boolean) [ Final ]

%TerminateAllSuperServers

ClassMethod %TerminateAllSuperServers() [ Final ]

%RemoteService

ClassMethod %RemoteService(host As %String, port As %Integer, serviceName As %String, arguments As %String, additionalClassPaths As %ListOfDataTypes = "") As %String [ Final ]

%ServiceRequest

Method %ServiceRequest(serviceName As %String, arguments As %String, ByRef response As %String) As %Status [ Final ]

%freeTCPDevice

ClassMethod %freeTCPDevice(pRequest As %Integer = 55555, pMaxTries As %Integer = 1000) As %String [ Internal ]

%LostConnectionCleanup

Method %LostConnectionCleanup() As %Boolean

Used to check if still connected to the gateway and mark as closed if no TCP connection

%PushGatewayDevice

Method %PushGatewayDevice()

%PopGatewayDevice

Method %PopGatewayDevice()

%ClearGatewayDevice

Method %ClearGatewayDevice()

%IsUsingSharedMemory

Method %IsUsingSharedMemory() As %Boolean

Returns true if the connection is open and connected over shared memory, false otherwise.

%GetContextGateway

ClassMethod %GetContextGateway() As %Net.Remote.Gateway

%CreateReverseGateway

ClassMethod %CreateReverseGateway(device, protocol) As %Net.Remote.Gateway

%RetainObject

ClassMethod %RetainObject(oref, gateway = "")

%ReleaseObjects

ClassMethod %ReleaseObjects(orefs) As %String

%SubscriptSortOrder

ClassMethod %SubscriptSortOrder(global, sub1, sub2) As %String

%Benchmark

ClassMethod %Benchmark(options As %String = "", server As %String = "", ByRef output) As %Numeric

%BenchmarkOneJob

ClassMethod %BenchmarkOneJob(index = "", iterations = 1000000, server, language = "java", type = "shm", action = "echo", mode = "zobjexport")

%CallUtilityMethod

Method %CallUtilityMethod(methodname, args...)

ExternalLanguageGet

Method ExternalLanguageGet()

ExternalLanguageVersionGet

Method ExternalLanguageVersionGet()

getProductVersion

Method getProductVersion()

%RedirectOutput

ClassMethod %RedirectOutput(data As %String = "") As %Integer

%WriteOutput

ClassMethod %WriteOutput(data1 As %String = "", data2 As %String = "")

%SetOutputRedirectHandler

Method %SetOutputRedirectHandler(classname, methodname)

%DumpProxyMaps

Method %DumpProxyMaps()

%FlushClosedIRISObjects

Method %FlushClosedIRISObjects() As %Boolean