PreviousNext

add mapping(8rpc)

Adds or replaces server address information in the local endpoint map

Synopsis

rpccp add mapping -b string-binding -i interface-identifier
[-a annotation-string] [-o object-uuid] [-N]

Options

-b string-binding
Specifies a string representation of a binding over which the server can receive remote procedure calls. At least one binding is required.
The value has the form of an RPC string binding, without an object UUID, for example:

-b ncadg_ip_udp:63.0.2.17[5347]

Note that depending on your system, string binding delimiters such as brackets ([ ]) may need to be preceded by an escape symbol (\) or put within quotation marks (' ' or "~"). Requirements vary from system to system, and you must conform to the usage rules of a system.

-i interface-identifier
Specifies an interface identifier to register with the local endpoint map. An interface identifier is required. Only one interface can be added (that is, registered) in a single operation. The interface identifier has the following form:
interface-uuid,major-version.minor-version
The UUID is a hexadecimal string and the version numbers are decimal strings, for example:

-i ec1eeb60-5943-11c9-a309-08002b102989,1.1

Leading zeros in version numbers are ignored.

-a annotation-string
Specifies a character string comment to be applied to each cross product element that is added to the local endpoint map. The string can be up to 64 characters long, including the NULL terminating character.
The string is used by applications for informational purposes only. The RPC runtime does not use this string to determine which server instance a client communicates with, or for enumerating endpoint map elements.

-o object-uuid
Defines an object UUID that further determines the endpoint map elements that are removed (optional). Each add mapping command accepts up to 32 -o options.
The UUID is a hexadecimal string, for example:

-o 3c6b8f60-5945-11c9-a236-08002b102989

-N
Specifies that existing elements in the local host's endpoint map should not be replaced when the new information is added.

Description
The add mapping command adds to, replaces, or adds server address information to the local endpoint map.

Each element in the local endpoint map logically contains the following:

· Interface ID, consisting of an interface UUID and versions (major and minor)

· Binding information

· Object UUID (optional)

· Annotation (optional)

This command should be used without the -N option when only a single instance of the server in question runs on the server's host. Do not use the -N option if no more than one server instance on the host ever offers the same interface UUID, object UUID, and protocol sequence.

When local endpoint map elements are not replaced, obsolete elements accumulate each time a server instance stops running without explicitly unregistering its endpoint map information. Periodically, the RPC daemon identifies these obsolete elements and remove them. However, during the interval between these removals, the presence of the obsolete elements increases the chance that clients will receive endpoints to nonexistent servers. The clients then waste time trying to communicate with these servers before giving up and obtaining another endpoint.

Allowing the RPC daemon to replace any existing local endpoint map elements (by not specifying -N) reduces the chance of clients' receiving endpoints to nonexistent servers. For example, suppose an existing element in the local endpoint map matches the interface UUID, binding information exclusive of the endpoint, and object UUID of an element this command provides. The command changes the endpoint map according to the elements' interface major and minor version numbers.

Notes
This command is replaced at Revision 1.1 by the dcecp command and may not be provided in future releases of DCE.

Examples
The following command operates from the system prompt to add a map element to the local endpoint map. The command adds the map element that contains the specified interface identifier, server address (specified as a string binding), and object UUIDs.

rpccp add mapping -i ec1eeb60-5943-11c9-a309-08002b102989,1.1 -b ncadg_ip_udp:63.0.2.17[5347] \
-o 005077d8-8022-1acb-9375-10005a4f533a -o 001bc29a-8041-1acb-b377-10005a4f533a \
-a 'Calendar version 1.1'

This command adds the following elements:

interface ID
ec1eeb60-5943-1169-a309-08002b102989,1.1

string binding
ncadg_ip_udp:63.0.2.17[5347]

objects
005077d8-8022-1acb-9375-10005a4f533a
001bc29a-8041-1acb-b377-10005a4f533a

annotation
Calendar Version 1.1

Related Information
Commands:

export(8rpc)

remove mapping(8rpc)

show mapping(8rpc)

show server(8rpc)

Subroutines:

rpc_ep_register(3rpc)

rpc_ep_register_no_replace(3rpc)