|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.lang.Thread | +--rtpi.transport.ipmc.IPMCTransport
IPMCTransport is a Transport implementation for (unreliable) IP multicast with minimal rate control. If IPMCTransort receives more transport packets from the local application, than can be sent according to the given rate, then packets are bufferd and delayed. The actual rate should never exceed the given rate. Currently this implementation cannot handle more than 4 MBit/s. The maximum data rate depends on time resolution (50ms for Win95/98 machines) and the (ethernet) MTU.
Fields inherited from class java.lang.Thread |
MAX_PRIORITY,
MIN_PRIORITY,
NORM_PRIORITY |
Constructor Summary | |
IPMCTransport(java.net.InetAddress taddr,
int tport,
int tttl,
int rate)
This constructs an IPMCTransport instance. |
Method Summary | |
int |
getHeaderSize()
This queries the header size (transport+network). |
int |
getTransportPayloadSize()
This queries the maximum transport payload size, which can be transported without fragmentation. |
void |
joinGroup()
This makes the IPMCTransport instrance join the MC group. |
void |
leaveGroup()
This makes the IPMCTransport instance leave the MC group. |
void |
queryNetworkResources(int senderFree,
int receiverFree,
NotificationRecipient recipient)
This requests that a NotificationRecipient is informed when the network becomes idle. |
void |
quit()
This terminates the reliability service. |
void |
registerTransportRecipient(TransportRecipient transRec)
Register a recipient for the transport packets received via this IPMC transport instance. |
void |
run()
|
void |
sendTransportPacket(TransportPacket packet)
Send a transport packet. |
void |
setRate(int rate)
The maximum rate to be sent over this IPMCTransport instance. |
void |
wakeUp()
|
void |
wakeUp2()
|
Methods inherited from class java.lang.Thread |
activeCount,
checkAccess,
countStackFrames,
currentThread,
destroy,
dumpStack,
enumerate,
getContextClassLoader,
getName,
getPriority,
getThreadGroup,
interrupt,
interrupted,
isAlive,
isDaemon,
isInterrupted,
join,
join,
join,
resume,
setContextClassLoader,
setDaemon,
setName,
setPriority,
sleep,
sleep,
start,
stop,
stop,
suspend,
toString,
yield |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Constructor Detail |
public IPMCTransport(java.net.InetAddress taddr, int tport, int tttl, int rate)
taddr
- The multicast (network) address of this transport instance.tport
- The port for this transport address.tttl
- The time to live for the transport packets sent.rate
- The maximum rate for this transport instance.Method Detail |
public void run()
public void quit()
public void joinGroup() throws java.io.IOException
public void leaveGroup()
public void registerTransportRecipient(TransportRecipient transRec)
transRec
- The recipient which should receive transport packets.public void sendTransportPacket(TransportPacket packet)
packet
- The TransportPacket to be sent.public void setRate(int rate)
rate
- The maximum rate.public void wakeUp()
public void wakeUp2()
public void queryNetworkResources(int senderFree, int receiverFree, NotificationRecipient recipient)
sendFree
- The boundary of the send data rate (bit/s) below which the network
is considered idle.receivFree
- The boundary of of the received data rate (bit/s) below which the
network is considered idle. This includes the data send. Therefore:
receivedFree=sendFree+xrecipient
- The notificationRecipient that is interested in receiving a
notification when the network becomes idle.public int getTransportPayloadSize()
public int getHeaderSize()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |