Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

MPS::FastmsgTransport Class Reference

Implements a Fastmsg-based Transport class for accessing and serving MPS objects. More...

#include <transport_fastmsg.h>

Inheritance diagram for MPS::FastmsgTransport:

Inheritance graph
[legend]
Collaboration diagram for MPS::FastmsgTransport:

Collaboration graph
[legend]
List of all members.

Static Public Methods

void initialise (Scheduler &s)

Protected Methods

virtual ref<ConnectionconnectTo (Address const &connectionSpec)
virtual string registerServer (Server *server, Address const &spec)
virtual string deregisterServer (Server *server, Address const &spec)

Private Methods

 FastmsgTransport (Scheduler &s)

Private Attributes

Scheduler& sched

Static Private Attributes

FastmsgTransport* instance

Detailed Description

Implements a Fastmsg-based Transport class for accessing and serving MPS objects.

Spawns a Scheduler Thread object for each object served by this process across fastmsg.

Since this uses fastmsg Scheduler Threads, you should call it from SchedulerApp's appMain().

Definition at line 54 of file transport_fastmsg.h.


Constructor & Destructor Documentation

MPS::FastmsgTransport::FastmsgTransport ( Scheduler & s ) [private]
 

Referenced by initialise().


Member Function Documentation

virtual ref<Connection> MPS::FastmsgTransport::connectTo ( Address const & connectionSpec ) [protected, virtual]
 

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.

Parameters:
connectionSpec   the address of the remote object
Returns:
a connection handle for remote communication, or NULL if none could be created

Reimplemented from MPS::Transport.

virtual string MPS::FastmsgTransport::deregisterServer ( Server * server,
Address const & spec ) [protected, virtual]
 

Attempt to deregister a server interface.

Parameters:
server   the server to deregister
spec   the connection specification that the transport may use as a hint in determining the final resolved name to use when unbinding this object.
Returns:
the canonical name of the server-that-was-bound-to-this-transport, or "" if unbinding from this transport fails.

Reimplemented from MPS::Transport.

void MPS::FastmsgTransport::initialise ( Scheduler & s ) [inline, static]
 

Definition at line 68 of file transport_fastmsg.h.

virtual string MPS::FastmsgTransport::registerServer ( Server * server,
Address const & spec ) [protected, virtual]
 

Attempt to register a server interface for access using this transport.

Parameters:
server   the server to register
spec   the connection specification that the transport may use as a hint in determining the final resolved name to use when binding this object.
Returns:
the canonical name of the server-bound-to-this-transport, or "" if binding to this transport fails.

Reimplemented from MPS::Transport.


Member Data Documentation

FastmsgTransport* MPS::FastmsgTransport::instance [static, private]
 

Definition at line 56 of file transport_fastmsg.h.

Scheduler& MPS::FastmsgTransport::sched [private]
 

Definition at line 58 of file transport_fastmsg.h.


The documentation for this class was generated from the following file:
Generated at Wed Aug 15 01:05:28 2001 for mps-cpp by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001