A Few Simple Examples
The Server publishes one service (integer value)
import dim.*;
public static void
main (String[] args)
{
int run = 0;
DimService runNumber = new
DimService("DELPHI/RUN_NUMBER", run);
DimServer.start("RUN_INFO");
// ...
}
The Client subscribes to the service,
requesting it to be updated every 5 seconds.
If the service is not available the value "-1" should
be received instead.
import dim.*;
public static void
main (String[] args)
{
DimInfo runNumber = new
DimInfo("DELPHI/RUN_NUMBER",5,-1);
// ...
System.out.println("RunNumber: "+
runNumber.getInt());
}
import dim.*;
public static void
main (String[] args)
{
int run = 0;
DimService runNumber = new
DimService("DELPHI/RUN_NUMBER", run);
DimServer.start("RUN_INFO");
while(true)
{
// ...
run++;
runNumber.updateService(run);
}
}
The Client subscribes to one service and
executes a method when the service gets updated
(when the server executes updateService()):
import dim.*;
public static void
main (String[] args)
{
DimInfo runNumber = new
DimInfo("DELPHI/RUN_NUMBER",-1)
{
public void infoHandler()
{
System.out.println("Run Number: "+getInt());
}
}
// then can come the main loop
};
The Server can receive commands (a string):
import dim.*;
public static void
main (String[] args)
{
DimCommand cmnd = new
DimCommand("DELPHI/TEST/CMND", "C")
{
public void
commandHandler()
{
System.out.println("Received:
"+getString());
}
}
DimServer.start("TEST");
// Then the rest of the main loop
};
The client sends a command:
import dim.*;
public static void
main (String[] args)
{
DimClient.sendCommand("DELPHI/TEST/CMND","DO_IT");
}