|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--SSF.OS.ProtocolSession
|
+--SSF.OS.UDP.test.udpStreamClient
Master class for creating streaming UDP client-server sessions. Obtains DML configuration specifying available servers and session parameters.
| Field Summary |
| Fields inherited from class SSF.OS.ProtocolSession |
name, use |
| Constructor Summary | |
udpStreamClient()
Constructors |
|
| Method Summary | |
void |
config(com.renesys.raceway.DML.Configuration cfg)
Client configuration. |
void |
configTraffic(com.renesys.raceway.DML.Configuration traffic,
java.lang.String client_nhi,
java.util.Vector server_list)
Add a list of servers available to the client(s) to the server_list. |
java.lang.Object |
getRandomVectorElement(java.util.Vector v,
java.util.Random rng)
|
void |
init()
Kick-off timer to start client operation. |
boolean |
push(ProtocolMessage message,
ProtocolSession fromSession)
Routine to call when a message is being sent to ("pushed into") this ProtocolSession by another ProtocolSession. |
void |
startOnce(int nsess)
Prototype method to open one or more sessions to randomly selected servers. |
void |
startOnOff()
Prototype session renewal process: open a session to a randomly selected server, wait until session is completed either with success or failure; then again wait for specified time; and repeat. |
| Methods inherited from class SSF.OS.ProtocolSession |
close, closed, debugIdentifier, inGraph, open, opened, pushAfterDelay, pushAfterDelayFailed, setGraph, version |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public udpStreamClient()
| Method Detail |
public void init()
throws ProtocolException
init in class ProtocolSessionProtocolExceptionpublic void startOnce(int nsess)
public void startOnOff()
public java.lang.Object getRandomVectorElement(java.util.Vector v,
java.util.Random rng)
public void config(com.renesys.raceway.DML.Configuration cfg)
throws com.renesys.raceway.DML.configException
ProtocolSession [ name client use SSF.OS.UDP.test.udpStreamClient
start_time %F # earliest time to send request to server, sec
start_window %F # send request to server at randomly chosen time
# in interval [start_time, start_time+start_window]
file_size %I # requested file size (virtual payload bytes, int)
request_size %I # client request nominal datagram size (bytes, int)
datagram_size %I # max datagram payload size (bytes, int)
show_report %S # print client-server session summary report, true/false
debug %S # print verbose diagnostics, true/false
]
config in interface com.renesys.raceway.DML.Configurableconfig in class ProtocolSessioncom.renesys.raceway.DML.configException
public void configTraffic(com.renesys.raceway.DML.Configuration traffic,
java.lang.String client_nhi,
java.util.Vector server_list)
throws com.renesys.raceway.DML.configException
traffic [
pattern [
client 1:1 # value N or N:H allowed, where N is NHI network prefix
servers [nhi 1:2(0) port 10] # single server
]
pattern [
client 2:1
servers [nhi_range [from 2:2(0) to 2:5(0)] port 11] # vector of servers
]
]
In case of a range of nhi addreses, an allowed range is of the form
from N:h1(i) to N:h2(i), where N is a valid Net prefix,
and h1 <= h2 is a range of hosts.
com.renesys.raceway.DML.configException
public boolean push(ProtocolMessage message,
ProtocolSession fromSession)
throws ProtocolException
ProtocolSessionIf you desire "safe" interaction with other CPU activities, even though your push() consumes no measurable/modelable CPU cycles, define the "cpudelay true" attribute for the ProtocolGraph and use pushAfterDelay(message,fromSession,0.0). This will guarantee proper ordering; that is, the framework will wait until the CPU is free before proceeding with the requested push().
push in class ProtocolSessionProtocolException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||