javaclients
Class Latency
java.lang.Object
javaclients.Latency
- All Implemented Interfaces:
- I_Callback
public class Latency
- extends java.lang.Object
- implements I_Callback
Measure the brutto roundtrip latency of a message publish and update.
Invoke examples (put xmlBlaster.jar in your CLASSPATH):
On localhost:
java org.xmlBlaster.Main
java javaclients.Latency -numSend 100
Over the internet with CORBA:
java javaclients.Latency -numSend 100 -bootstrapHostname server.xmlBlaster.org
or if you have a dynamic IP:
java javaclients.Latency -numSend 100 -bootstrapHostname server.xmlBlaster.org -dispatch/callback/plugin/ior/hostname
Over the internet with XmlRpc:
java javaclients.Latency -numSend 100 -dispatch/connection/protocol XMLRPC -dispatch/connection/plugin/xmlrpc/hostname server.xmlBlaster.org -dispatch/callback/plugin/xmlrpc/hostname
Results, for one round trip including publish -> processing in xmlBlaster -> update -> parsing in client (600 MHz AMD Linux):
- CORBA in intranet: ~ 6 milliseconds
- XmlRpc in intranet: ~ 16 milliseconds
- CORBA over internet: ~ 105 milliseconds
- XmlRpc over internet: ~ 320 milliseconds
Method Summary |
static void |
main(java.lang.String[] args)
Try |
java.lang.String |
update(java.lang.String cbSessionId,
UpdateKey updateKey,
byte[] content,
UpdateQos updateQos)
This is the callback method invoked from I_XmlBlasterAccess
informing the client in an asynchronous mode about a new message. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
startTime
private long startTime
messageArrived
private boolean messageArrived
log
private static java.util.logging.Logger log
Latency
public Latency(Global glob)
update
public java.lang.String update(java.lang.String cbSessionId,
UpdateKey updateKey,
byte[] content,
UpdateQos updateQos)
- Description copied from interface:
I_Callback
- This is the callback method invoked from I_XmlBlasterAccess
informing the client in an asynchronous mode about a new message.
So you should implement in your client code the I_Callback interface -
suppling the update() method where you can do with the message whatever you want.
The raw protocol driver specific update() method (e.g. CORBA-BlasterCallback.update())
is unpacked and for each arrived message this update is called.
- Specified by:
update
in interface I_Callback
- Parameters:
cbSessionId
- The session ID specified by the client which registered the callback.
You can specify a cbSessionId during connection (with ConnectQos)
and this is bounced back here so you can authenticate the message.updateKey
- The arrived key containing the topic namecontent
- The arrived message content. This is your payload.- See Also:
I_XmlBlasterAccess
main
public static void main(java.lang.String[] args)
- Try
java javaclients.Latency -help
for usage help
Copyright © 1999-2014 The xmlBlaster.org contributers.