#include <transport.h>
Inheritance diagram for MPS::Transport:
Public Methods | |
virtual | ~Transport () |
string const& | getName () const |
Static Public Methods | |
void | registerTransport (Transport *t) |
ref<Connection> | getConnectionTo (Address const &connectionSpec) |
string | bindServer (Server *server, string const &bindingSpec) |
void | bindServer (Server *server) |
string | unbindServer (Server *server, string const &bindingSpec) |
void | unbindServer (Server *server) |
Protected Methods | |
Transport (string const &_name) | |
virtual ref<Connection> | connectTo (Address const &connectionSpec)=0 |
virtual string | registerServer (Server *server, Address const &spec)=0 |
virtual string | deregisterServer (Server *server, Address const &spec)=0 |
Private Types | |
typedef vector<Transport *> | transportVec_t |
Private Attributes | |
string | name |
Static Private Methods | |
Transport* | findTransport (string const &name) |
Static Private Attributes | |
transportVec_t | allTransports |
Subclasses implement name-resolution and connection facilities according to a particular transport protocol; examples include InetTransport, SleeTransport, and FastmsgTransport.
Definition at line 46 of file transport.h.
|
A list of Transports.
Definition at line 48 of file transport.h. |
|
For access by subclasses - initialises this class.
|
|
|
|
Bind an object server to all available transports that currently do not have a binding for this server.
|
|
Bind an object server to an interface provided by a transport.
Referenced by main(). |
|
Returns a message source/sink that can be used for communication with the object at the address described by the connectionSpec. The connectionSpec is the broken-down resolved name of the remote object, and must match the address format that this transport expects.
Reimplemented in MPS::FastmsgTransport, MPS::InetTransport, and MPS::SimplTransport. |
|
Attempt to deregister a server interface.
Reimplemented in MPS::FastmsgTransport, MPS::InetTransport, and MPS::SimplTransport. |
|
Locate a Transport by name.
|
|
Returns a message source/sink that can be used for communication with the object at the address described by the connectionSpec. Selects an appropriate Transport based on the "transport" field of the Address.
|
|
Retrieves the transport's registered name.
|
|
Attempt to register a server interface for access using this transport.
Reimplemented in MPS::FastmsgTransport, MPS::InetTransport, and MPS::SimplTransport. |
|
Register a transport.
|
|
Unbind a previously-bound server.
|
|
Unbind an object server from an interface provided by a transport.
|
|
All registered Transports.
Definition at line 49 of file transport.h. |
|
Registered name of this transport ("inet", "slee", ..).
Definition at line 52 of file transport.h. |