ONC+ Developer's Guide

Transport Selection

RPC services are supported on both circuit-oriented and datagram transports. The selection of the transport depends on the requirements of the application.

Choose a datagram transport if the application has all of the following characteristics:

Choose a circuit-oriented transport if the application has any of the following characteristics:

Name-to-Address Translation

Each transport has an associated set of routines that translate between universal network addresses (string representations of transport addresses) and the local address representation. These universal addresses are passed around within the RPC system (for example, between rpcbind and a client). A runtime linkable library that contains the name-to-address translation routines is associated with each transport. Table 2–7 shows the main translation routines.

For more details on these routines, see the netdir(3NSL) man page. Note that the netconfig structure in each case provides the context for name-to-address translations.

Table 2–7 Name-to-Address Translation Routines

netdir_getbyname()

Translates from host or service pairs (for example server1, rpcbind) and a netconfig structure to a set of netbuf addresses. netbufs are Transport Level Interface (TLI) structures that contain transport-specific addresses at runtime.

 

Translates from netbuf() addresses and a netconfig structure to host or service pairs.

uaddr2taddr()

Translates from universal addresses and a netconfig() structure to netbuf addresses.

taddr2uaddr ()

Translates from netbuf addresses and a netconfig structure to universal addresses.