public class MessageTrackerHubService extends GuiHubService implements ClientTransmissionHolder
| Modifier and Type | Class and Description |
|---|---|
private static class |
MessageTrackerHubService.CallMap
Keeps track of transmissions by key.
|
private class |
MessageTrackerHubService.MessageTrackerCallableClient
Wrapper implementation for the CallableClient class which intercepts
calls to update sent and received transmission list models.
|
private class |
MessageTrackerHubService.MessageTrackerClientSet
ClientSet implementation used by this hub service.
|
private class |
MessageTrackerHubService.MessageTrackerHubClient
HubClient class used by this HubService implementation.
|
| Modifier and Type | Field and Description |
|---|---|
private MessageTrackerHubService.CallMap |
callMap_ |
private MessageTrackerHubService.MessageTrackerClientSet |
clientSet_ |
private int |
listRemoveDelay_ |
private javax.swing.ListSelectionModel |
selectionModel_ |
private int |
tableMaxRows_ |
private int |
tableRemoveDelay_ |
private TransmissionTableModel |
transTableModel_ |
MAX_TIMEOUT, MAX_WAITERS| Constructor and Description |
|---|
MessageTrackerHubService(java.util.Random random)
Constructs a hub service with default message tracker GUI expiry times.
|
MessageTrackerHubService(java.util.Random random,
int listRemoveDelay,
int tableRemoveDelay,
int tableMaxRows)
Constructs a hub service with specified message tracker GUI expiry times.
|
| Modifier and Type | Method and Description |
|---|---|
private void |
addTransmission(Transmission trans)
Registers a newly created transmission with internal data models
as required.
|
HubClient |
createClient(java.lang.String publicId,
ProfileToken ptoken)
Factory method used to create all the client objects which will
be used by this hub service.
|
ClientSet |
createClientSet()
Factory method used to create the client set used by this hub service.
|
javax.swing.JComponent |
createHubPanel()
Creates a new component containing a display of the current hub
internal state.
|
private static java.lang.Object |
getCallKey(Client receiver,
java.lang.String msgId)
Returns a key for use in the call map.
|
javax.swing.ListSelectionModel |
getClientSelectionModel()
Returns the selection model corresponding to this service's client
list model.
|
javax.swing.ListModel |
getRxListModel(Client client)
Returns a ListModel representing the pending messages received
by a given client.
|
javax.swing.ListModel |
getTxListModel(Client client)
Returns a ListModel representing the pending messages sent
from a given client.
|
protected void |
reply(HubClient caller,
java.lang.String msgId,
java.util.Map response)
Does the work for the
reply method of connections
registered with this service. |
void |
start()
Begin operation.
|
createHubWindow, createMenus, declareMetadata, declareSubscriptions, getClientListModelcall, callAll, callAndWait, createConnection, createHubMessageHandlers, disconnect, disconnectAll, getClientSet, getIdComparator, getMetadata, getRegisteredClients, getServiceConnection, getSubscribedClients, getSubscriptions, isHubRunning, notify, notifyAll, register, setCallable, shutdown, unregisterprivate final MessageTrackerHubService.CallMap callMap_
private final TransmissionTableModel transTableModel_
private final int listRemoveDelay_
private final int tableRemoveDelay_
private final int tableMaxRows_
private MessageTrackerHubService.MessageTrackerClientSet clientSet_
private javax.swing.ListSelectionModel selectionModel_
public MessageTrackerHubService(java.util.Random random)
random - random number generatorpublic MessageTrackerHubService(java.util.Random random,
int listRemoveDelay,
int tableRemoveDelay,
int tableMaxRows)
random - random number generatorlistRemoveDelay - expiry delay for summary icons in client
list displaytableRemoveDelay - expiry delay for rows in message
table displaytableMaxRows - maximum number of rows in message table
(beyond this limit resolved messages may be
removed early)public void start()
HubServiceHubService.register(org.astrogrid.samp.hub.ProfileToken) method should not be
called until the hub has been started.start in interface HubServicestart in class GuiHubServicepublic ClientSet createClientSet()
BasicHubServicecreateClientSet in class GuiHubServicepublic HubClient createClient(java.lang.String publicId, ProfileToken ptoken)
BasicHubServicecreateClient in class BasicHubServicepublicId - client public IDptoken - connection sourcepublic javax.swing.JComponent createHubPanel()
GuiHubServicecreateHubPanel in class GuiHubServicepublic javax.swing.ListSelectionModel getClientSelectionModel()
GuiHubServicegetClientSelectionModel in class GuiHubServicepublic javax.swing.ListModel getTxListModel(Client client)
Transmission objects.getTxListModel in interface ClientTransmissionHolderclient - client owned by this hub servicepublic javax.swing.ListModel getRxListModel(Client client)
Transmission objects.getRxListModel in interface ClientTransmissionHolderclient - client owned by this hub serviceprotected void reply(HubClient caller, java.lang.String msgId, java.util.Map response) throws SampException
BasicHubServicereply method of connections
registered with this service.reply in class BasicHubServicecaller - calling clientmsgId - message IDresponse - response to forwardSampExceptionHubConnection.reply(java.lang.String, java.util.Map)private void addTransmission(Transmission trans)
trans - new transmission to trackprivate static java.lang.Object getCallKey(Client receiver, java.lang.String msgId)
receiver - message receivermsgId - message ID