TRemoteCallerTransport is the abstract base class from which the concrete transport classes derive. TMessageStreamsTransport handles the transport between a dispatcher and a single caller. TRemoteSharedTransport supports data transport between a dispatcher and multiple callers. THardwiredTransport is provided for test purposes, giving you a way to hardwire a caller to a dispatcher. Each of these concrete classes uses Message Streams to send data from the caller to the dispatcher.
In general, transport instances are very lightweight. The biggest performance expense occurs when the transport is moving data, not when your code creates it. Even so, if you use a caller-dispatcher model where multiple callers access one or more dispatchers, you can reduce the expense of transport operation by coding your callers to use a shared transport instance. In order use a shared transport, all callers must exist in the same task.