org.astrogrid.samp.hub
Interface HubService

All Known Implementing Classes:
BasicHubService, FacadeHubService, GuiHubService, MessageTrackerHubService

public interface HubService

Interface defining the work that the hub has to do. This is independent of profile or transport, and just concerns keeping track of clients and routing messages between them.

Since:
15 Jul 2008
Author:
Mark Taylor

Method Summary
 void disconnectAll(ProfileToken profileToken)
          Forcibly terminates any connections created by a previous call of register(org.astrogrid.samp.hub.ProfileToken) with a particular profileToken.
 boolean isHubRunning()
          Indicates whether this hub service is currently open for operations.
 HubConnection register(ProfileToken profileToken)
          Creates a new connection to this hub service, thereby initiating a new registered client.
 void shutdown()
          Tidies up any resources owned by this object.
 void start()
          Begin operation.
 

Method Detail

start

void start()
Begin operation. The register(org.astrogrid.samp.hub.ProfileToken) method should not be called until the hub has been started.


register

HubConnection register(ProfileToken profileToken)
                       throws SampException
Creates a new connection to this hub service, thereby initiating a new registered client.

It is the responsibility of the returned connection, not the user of that connection, to broadcast the various samp.hub.event.* notifications at the appropriate times.

Most of the HubConnection methods are declared to throw SampException, however, implementations may throw unchecked exceptions if that is more convenient; users of the connection should be prepared to catch these if they occur.

Parameters:
profileToken - identifier for the profile acting as gatekeeper for this connection
Returns:
new hub connection representing registration of a new client
Throws:
SampException

disconnectAll

void disconnectAll(ProfileToken profileToken)
Forcibly terminates any connections created by a previous call of register(org.astrogrid.samp.hub.ProfileToken) with a particular profileToken. Any necessary hub events will be sent.

Parameters:
profileToken - previous argument to register

isHubRunning

boolean isHubRunning()
Indicates whether this hub service is currently open for operations.

Returns:
true iff called between start() and shutdown()

shutdown

void shutdown()
Tidies up any resources owned by this object. Should be called when no longer required.



Copyright © 2008–2014. All rights reserved.