I sent this to the mailing list. But the forums seem to have better traffic.
This is just to see what happens in low bandwidth conditions.
The client code can be see on the mailing list archives. ( ugly whittle job ).
I’ve setup a Linux box to act as a service. I am throttling the network
interface to 65KB/s
I start up the SGS. My boot class opens a channel that the clients will
connect to.
The clients (4-6 ) then connect and join the channel.
One client then pushes 512 bytes with sendBroadcastData 1000 times.
( I paste in 512 chars plus a count. ).
I’m getting this Exception when i hit the throttle limit on the server.
Exception in thread “AWT-EventQueue-0” java.nio.BufferOverflowException
at java.nio.DirectByteBuffer.put(Unknown Source)
at java.nio.DirectByteBuffer.put(Unknown Source)
at
com.sun.gi.utils.nio.NIOConnection$PacketHandler.send(NIOConnection.java:300)
at com.sun.gi.utils.nio.NIOConnection.send(NIOConnection.java:378)
at
com.sun.gi.comm.users.client.impl.TCPIPUserManagerClient$1.sendBuffers(TCPIPUserManagerClient.java:168)
at
com.sun.gi.comm.users.protocol.impl.BinaryPktProtocol.sendBuffers(BinaryPktProtocol.java:633)
at
com.sun.gi.comm.users.protocol.impl.BinaryPktProtocol.sendBroadcastMsg(BinaryPktProtocol.java:349)
at
com.sun.gi.comm.users.client.impl.TCPIPUserManagerClient.sendBroadcastMsg(TCPIPUserManagerClient.java:364)
at
com.sun.gi.comm.users.client.impl.ClientConnectionManagerImpl.sendBroadcastData(ClientConnectionManagerImpl.java:340)
at
com.sun.gi.comm.users.client.impl.ClientChannelImpl.sendBroadcastData(ClientChannelImpl.java:127)
at
com.asynchrony.tire.client.TireClient$2.actionPerformed(TireClient.java:140)
What do you guys suggest… when the bandwidth restricts the ability to send?
the clients are identical. But everyonce and a while one of the clients
will start getting garbage from SGS.
“?U6hmm” with more garbage after it. should be “6hmm”.
Also I’m seeing this NullPointerException in the SGS output.
Exception in thread “inria.net.lrmp.LrmpFlow” java.lang.NullPointerException
at inria.util.EventManager.recallTimer(EventManager.java:187)
at inria.net.lrmp.LrmpImpl.idle(LrmpImpl.java:1387)
at inria.net.lrmp.LrmpFlow.run(LrmpFlow.java:201)
at java.lang.Thread.run(Thread.java:595)