1
protocol://V.v@addr1,...,W.w@addrN
where V.v and W.w are optional protcol
versions for each address. An example of an IIOP endpoint is:
iiop://hostname:port
Sets of endpoints may be specified using multiple
-ORBEndpoint options or by delimiting endpoints with
a semi-colon (;). For example:
-ORBEndpoint iiop://localhost:9999 -ORBEndpoint uiop:///tmp/mylocalsock -ORBEndpoint shmiop://10002
is equivalent to:
-ORBEndpoint 'iiop://localhost:9999;uiop:///tmp/mylocalsock;shmiop://10002'
Notice the single quotes (') in the latter option specification.
Single quotes are needed to prevent the shell from interpreting
text after the semi-colon as another command to run.
If an endpoint is specified without an addr such as
the following:
-ORBEndpoint uiop:// -ORBEndpoint shmiop://
then a default endpoint will be created for the specified protocol.
This is a server side option.
The -ORBEndpoint options can accept
endpoint-specific options. Specifically, such options will only
apply to the endpoint for which they were specified.
An endpoint-specific option is used as follows:
-ORBEndpoint iiop://foo:1234/option=value
Additional options can be specified by separating each option
with an ampersand '&' as follows:
-ORBEndpoint 'iiop://foo:1234/option1=value1&option2=value2'
Notice that the address and the endpoint-specific options are
separated by a forward slash '/' in this case,
i.e. for IIOP endpoints. This character may differ for other
types of pluggable protocol endpoints. For example, UIOP
endpoint-specifc options are separated from the address by a
vertical bar '|'. Also note that when using more
than option, quotes should be used to prevent the shell from
interpreting the ampersand '&' as a command to
tell the shell to backgroup a job.
TAO supports the following options that are common to all pluggable protocol endpoints:
| Option | Description |
|---|---|
priority
|
The priority option allows a given
CORBA priority to be assigned to the
endpoint. This is useful when utilizing TAO's real-time
CORBA support. The format for the priority
is:
where value is a priority in the range
0 to 32767.
The native operating system priority to which the CORBA priority is mapped to depends on the platform, and on the priority mapping method TAO is configured with (e.g. direct or linear). By default TAO maps CORBA priorities to native priorities linearly. It is not always possible to achieve a one-to-one mapping of the CORBA priority to the native operating system priority. As such, it is possible for more than one CORBA priority to correspond to the same native operating system priority. |
IIOP endpoints in TAO have the form:
-ORBEndpoint iiop://V.v@hostname1:port1,...,W.w@hostname2:port2
Where "V.v" and "W.w" are the IIOP
protocol versions associated with the given address
(hostname:port pair). Currently supported versions are
1.0 and 1.1.
Options are separated from the addresses by a forward slash
'/'. For instance, if an IIOP endpoint should have
a CORBA priority of 50 associated with it, then the following
endpoint specification could be used
-ORBEndpoint iiop://hostname:port/priority=50
IIOP addresses are comprised of a hostname (or an IP address) and a TCP port the server should listen on. The hostname is used to select which network interface to set up the endpoint on. It is not used to set the hostname that goes into the generated IOR. This is especially useful if the endpoint should be setup on a specific network interface other than the default network interface.
Suppose a host has the following network interfaces:
To set up an endpoint on the second network interface "eth1," the following endpoint specification could be used:
or:
-ORBEndpoint iiop://foo2
-ORBEndpoint iiop://foo2.bar.baz
TAO will attempt to ensure that the fully qualified domain name is embedded in the IOR.
In the above example, an available port will be chosen by TAO (actually the operating system kernel), which will then be placed into the IOR.
To set up an endpoint on a specific port, simply use an endpoint of the form:
-ORBEndpoint iiop://foo2:1234
where 1234 is the TCP port the endpoint will be
opened on. In this case, an endpoint will be opened on the
network interface associated with the hostname foo1
on port 1234.
Port names are also accepted. For example, suppose a
UNIX installation has a service called "my_protocol" associated
with port 1234 in the service database in
/etc/services, then the following would cause an
endpoint to be opened on the port associated with that service:
-ORBEndpoint iiop://foo2:my_protocol
Port numbers range from 0 (causes port to be chosen
by operating system) to 65335. Port numbers less
than 1024 on UNIX systems are considered
privileged, and require super-user privileges to access them.
Also be aware that some ports may already be in use by other
applications.
Suppose an endpoint should be created on each network interface. To do so, simply omit the address from the endpoint specification as follows:
-ORBEndpoint iiop://
In this case, an endpoint will be set up on each network interface detected by TAO. The port for each opened endpoint will be chosen automatically. The chosen port will be the same for all endpoints. Each endpoint will be represented in generated IOR as a separate profile, or as an alternate address within a single IOR profile (once IIOP 1.2 is supported).
Note that network interface detection only work on platforms that support this feature. If network interface detection isn't supported, then the default network interface will be chosen.
Now suppose that an endpoint should be created on each detected network interface, but with a specific port. This can be achieved by using an endpoint specification of the form:
-ORBEndpoint iiop://:1234
This will create endpoints on each detected network interface,
each with the TCP port 1234. Notice that there is
a colon ':' preceeding the port number
1234. That colon is necessary to make TAO
interpret 1234 as a port. Without the colon, TAO
would interpret 1234 as a hostname associated with
a given network interface.
Here are some additional examples of IIOP endoints:
-ORBEndpoint iiop://1.0@foo1:0
-ORBEndpoint iiop://1.0@foo:0,1.1@bar,baz:3456
-ORBEndpoint iiop://1.0@foo:0,1.1@bar,baz:3456/priority=300-ORBEndpoint iiop:///priority=2 (notice three slashes "///")
-ORBEndpoint iiop://:2020/priority=12345
-ORBEndpoint iiop://1.1@
-ORBEndpoint iiop://1.1@:1234
-ORBEndpoint iiop://1.1@,1.0@:1234,1.1@
SHMIOP endpoints in TAO have the form:
-ORBEndpoint shmiop://V.v@port1,...,W.w@port2
Where "V.v" and "W.w" are the SHMIOP
protocol versions associated with the given address
(port). Currently supported versions are 1.0 and
1.1.
Options are separated from the addresses by a forward slash
'/'. For instance, if a SHMIOP endpoint should have
a CORBA priority of 50 associated with it, then the following
endpoint specification could be used
-ORBEndpoint shmiop://port/priority=50
SHMIOP addresses are comprised of a port number that the server should listen on.
Port numbers range from 0 (causes port to be chosen
by operating system) to 65335. Port numbers less
than 1024 on UNIX systems are considered
privileged, and require super-user privileges to access them.
Also be aware that some ports may already be in use by other
applications.
To have TAO automatically choose an address for a given SHMIOP endpoint, simply omit the address from the endpoint specification as follows:
-ORBEndpoint shmiop://
In this case, an SHMIOP endpoint will be set up on a port chosen by TAO.
Here are some additional examples of SHMIOP endoints:
-ORBEndpoint shmiop://1.0@0
-ORBEndpoint shmiop://1.0@0,3456
-ORBEndpoint shmiop://1.0@0,3456/priority=300-ORBEndpoint shmiop:///priority=2 (notice three slashes "///")
-ORBEndpoint shmiop://2020/priority=12345
-ORBEndpoint shmiop://1.1@
-ORBEndpoint shmiop://1.1@1234
-ORBEndpoint shmiop://1.1@,1.0@1234,1.1@
UIOP endpoints in TAO have the form:
-ORBEndpoint uiop://V.v@rendezvous_point1,...,W.w@rendezvous_point2
Where "V.v" and "W.w" are the UIOP
protocol versions associated with the given rendezvous point.
Currently supported versions are 1.0 and
1.1.
Options are separated from the addresses by a vertical bar
'|'. For instance, if an UIOP endpoint should have
a CORBA priority of 50 associated with it, then the following
endpoint specification could be used
-ORBEndpoint 'uiop://1.0@/tmp/my_rendezvous_point|priority=50'
Notice that the endpoint is quoted to prevent the shell from
interpreting the vertical bar '|' as the shell
"pipe" character.
UIOP addresses are comprised of a rendezvous point the server should listen on. The rendezvous point is generally the full path to the desired UNIX domain socket filename. Relative paths can be used, their use is discourages. The maximum length of the rendezvous point is 108 characters, as dictated by the POSIX.1g specification for local IPC rendezvous points. TAO will truncate any rendezvous point name longer than 108 characters.
An UIOP endpoint with a rendezvous point with an absolute path could be:
In this example, the optional protocol version and endpoint-specific options have been omitted. The rendezvous point
-ORBEndpoint uiop:///tmp/foobar
/tmp/foobar will be created, in this case.
An UIOP endpoint with a rendezvous point with a relative path could be:
-ORBEndpoint uiop://foobar(DISCOURAGED)
Again, rendezvous points with relative paths are discouraged since it is possible that other rendezvous points with the same basename exist on a given system, giving rise to potential ambiguities.
To make TAO choose a rendezvous point automatically, simply omit the rendezvous point from the endpoint specification as follows:
-ORBEndpoint uiop://
This will cause an endpoint to be setup in system temporary
directory. Rendezvous points chosen by TAO are prepended with
"TAO." TAO will always choose rendezvous points
with absolute paths.
Here are some additional examples of UIOP endoints:
-ORBEndpoint uiop://1.0@/tmp/foo1
-ORBEndpoint uiop://1.0@/tmp/foo,1.1@/home/bar/baz
-ORBEndpoint 'uiop://1.1@/tmp/bar|priority=300'-ORBEndpoint 'uiop://|priority=2'
-ORBEndpoint uiop://1.1@
-ORBEndpoint uiop://1.1@,1.0@/tmp/foo,1.1@