|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectist.palcom.rascal.RascalMediaManager
public class RascalMediaManager
This media manager sends and receives messages to the RASCAL agent running on the same host through a socket. The RASCAL agent takes care for the dispatching.
| Nested Class Summary | |
|---|---|
class |
RascalMediaManager.DistributorThread
|
| Field Summary | |
|---|---|
protected RascalMediaManager.DistributorThread |
distributorThread
This thread is used to distribute messages to the threads registered as listeners |
static java.lang.String |
MY_MULTICAST_ADDRESS
|
static java.lang.String |
MY_UNICAST_ADDRESS
|
static java.lang.String |
PALCOM_URL_PREFIX
|
protected PalcomScheduler |
scheduler
|
| Constructor Summary | |
|---|---|
RascalMediaManager(PalcomScheduler scheduler,
PalcomThread errorHandler)
Deprecated. Currently, this API is replaced by ist.palcom.services.communication.rascal.RascalMediaManager#RascalMediaManager(PalcomScheduler scheduler, PalcomThread errorHandler). This means that the RASCAL agent will run within the Palcom device instance. |
|
| Method Summary | |
|---|---|
void |
addErrorHandler(PalcomThread handler)
Subscribe to error events from this media manager. |
URL[] |
getDefaultGroupAddresses()
|
int |
getDefaultReceiveBufferSize()
|
URL |
getDefaultUnicastURL()
|
RascalMediaManager.DistributorThread |
getDistributorThread()
|
java.lang.String |
getLocalDeviceCache()
|
java.lang.String |
getLocalDeviceID()
|
static URL |
getProtocolSpecificUrl(URL url)
|
protected CommunicationThread |
getReceivingThread(URL url)
|
java.util.ArrayList |
getRegisteredDevices()
Get all devices registered at this media manager except itself. |
int |
getSendBufferSize()
|
protected CommunicationThread |
getSendingThread(URL url)
|
protected boolean |
isBroadcast(URL url)
|
boolean |
isDeviceRegistered(java.lang.String deviceID)
Checks if the device with ID deviceID is known to the media manager. |
void |
registerAsListener(PalcomThread listener)
Registers as a listener to messages received by this manager from the network. |
void |
registerDevice(java.lang.String deviceID,
DeviceCacheObject device)
This method is public so it can be used by test programs, but it is usually not called from other classes. |
void |
registerForHeartBeats(PalcomThread listener)
Register as a listener for heartbeats and heartattacks. |
protected void |
removeReceivingThread(URL url)
|
boolean |
send(Message message,
java.lang.String receiverURN)
Send a message to a receiver at a given deviceID. |
void |
sendBroadcast(Message message)
Send out a broadcast message, with required message header nodes inserted before. |
void |
sendHeartAttack()
Send out a broadcast HeartAttack message. |
void |
sendHeartBeat(boolean isHeartBeatAck)
|
void |
sendHeartBeat(boolean isHeartBeatAck,
LinkedList messageHeaderNodes)
Send out a broadcast HeartBeat message. |
void |
setDefaultReceiveBufferSize(int size)
|
void |
setDiscoverySelector(Selector selector)
|
void |
setLocalDeviceCache(java.lang.String deviceCache)
|
void |
setLocalDeviceID(java.lang.String deviceID)
|
void |
setLocalDiscoveryVersion(java.lang.String discoveryVersion)
|
void |
setLocalStatusFlag(byte statusFlag)
|
void |
setPeriod(long period)
Set the time interval between heartbeats. |
void |
stop()
Stop the manager. |
void |
suggestSendBufferSize(int size)
Used in the same manner as setSendBufferSize. |
boolean |
unRegisterDevice(java.lang.String deviceID)
This method removes a device and its information from the list with registered devices. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String PALCOM_URL_PREFIX
protected RascalMediaManager.DistributorThread distributorThread
protected final PalcomScheduler scheduler
public static final java.lang.String MY_MULTICAST_ADDRESS
public static final java.lang.String MY_UNICAST_ADDRESS
| Constructor Detail |
|---|
public RascalMediaManager(PalcomScheduler scheduler,
PalcomThread errorHandler)
| Method Detail |
|---|
public void registerAsListener(PalcomThread listener)
MediaManager
registerAsListener in interface MediaManagerlistener - The PalcomThread that are
interested in messages from the media manager.public void registerForHeartBeats(PalcomThread listener)
MediaManager
registerForHeartBeats in interface MediaManagerpublic RascalMediaManager.DistributorThread getDistributorThread()
getDistributorThread in interface MediaManagerpublic void suggestSendBufferSize(int size)
MediaManager
suggestSendBufferSize in interface MediaManagerpublic void stop()
MediaManager
stop in interface MediaManagerpublic static URL getProtocolSpecificUrl(URL url)
public URL getDefaultUnicastURL()
protected CommunicationThread getReceivingThread(URL url)
protected void removeReceivingThread(URL url)
protected CommunicationThread getSendingThread(URL url)
protected boolean isBroadcast(URL url)
public URL[] getDefaultGroupAddresses()
public int getDefaultReceiveBufferSize()
public int getSendBufferSize()
getSendBufferSize in interface MediaManagerpublic void setDefaultReceiveBufferSize(int size)
public boolean send(Message message,
java.lang.String receiverURN)
MediaManager
send in interface MediaManagermessage - The message to send.receiverURN - The deviceID of the receiver.
public void sendBroadcast(Message message)
MediaManager
sendBroadcast in interface MediaManagerpublic void addErrorHandler(PalcomThread handler)
MediaManagerMALErrorEvent events.
Notice: Currently, only one error handler at a time is supported
addErrorHandler in interface MediaManagerpublic java.lang.String getLocalDeviceCache()
getLocalDeviceCache in interface MediaManagerpublic java.lang.String getLocalDeviceID()
getLocalDeviceID in interface MediaManagerpublic boolean isDeviceRegistered(java.lang.String deviceID)
MediaManager
isDeviceRegistered in interface MediaManagerdeviceID - must contain deviceID but nothing more.
public void registerDevice(java.lang.String deviceID,
DeviceCacheObject device)
MediaManager
registerDevice in interface MediaManagerpublic void sendHeartAttack()
MediaManager
sendHeartAttack in interface MediaManagerpublic void sendHeartBeat(boolean isHeartBeatAck)
public void setDiscoverySelector(Selector selector)
setDiscoverySelector in interface MediaManagerpublic void setLocalDeviceCache(java.lang.String deviceCache)
setLocalDeviceCache in interface MediaManagerpublic void setLocalDeviceID(java.lang.String deviceID)
setLocalDeviceID in interface MediaManagerpublic void setLocalDiscoveryVersion(java.lang.String discoveryVersion)
setLocalDiscoveryVersion in interface MediaManagerpublic void setLocalStatusFlag(byte statusFlag)
setLocalStatusFlag in interface MediaManagerpublic boolean unRegisterDevice(java.lang.String deviceID)
MediaManager
unRegisterDevice in interface MediaManagerdeviceID - The ID of the device to be removed.
public void sendHeartBeat(boolean isHeartBeatAck,
LinkedList messageHeaderNodes)
MediaManager
sendHeartBeat in interface MediaManagerisHeartBeatAck - is the heartBeat an ack or
a request for others to answer with heartbeatAcks.messageHeaderNodes - used when for instance a mark node should be sent
with the heartBeat.public java.util.ArrayList getRegisteredDevices()
MediaManager
getRegisteredDevices in interface MediaManagerpublic void setPeriod(long period)
MediaManager
setPeriod in interface MediaManager
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||