public class EtSystem
extends java.lang.Object
Constructor and Description |
---|
EtSystem(EtSystemOpenConfig config)
Construct a new EtSystem object.
|
EtSystem(EtSystemOpenConfig config,
int debug)
Construct a new EtSystem object.
|
EtSystem(EtSystemOpen sys,
int debug)
Construct a new EtSystem object.
|
Modifier and Type | Method and Description |
---|---|
boolean |
alive()
Is the ET system alive and are we connected to it?
|
EtAttachment |
attach(EtStation station)
Create an attachment to a station.
|
void |
close()
Close the ET system.
|
EtStation |
createStation(EtStationConfig config,
java.lang.String name)
Creates a new station placed at the end of the ordered list of stations.
|
EtStation |
createStation(EtStationConfig config,
java.lang.String name,
int position)
Creates a new station at a specified position in the ordered list of
stations.
|
EtStation |
createStation(EtStationConfig config,
java.lang.String name,
int position,
int parallelPosition)
Creates a new station at a specified position in the ordered list of
stations and in a specified position in an ordered list of parallel
stations if it is a parallel station.
|
void |
detach(EtAttachment att)
Remove an attachment from a station.
|
void |
dumpEvents(EtAttachment att,
EtEvent[] evs)
Dispose of unwanted events in an ET system.
|
void |
dumpEvents(EtAttachment att,
EtEvent[] evs,
int offset,
int length)
Dispose of unwanted events in an ET system.
|
void |
dumpEvents(EtAttachment att,
java.util.List<EtEvent> eventList)
Dispose of unwanted events in an ET system.
|
void |
dumpEvents(EtContainer container)
Dispose of unwanted events in an ET system.
|
int |
getAttachmentsMax()
Gets the maximum number of attachments allowed in the ET system.
|
EtSystemOpenConfig |
getConfig()
Gets a copy of the configuration object used to specify how to open the ET system.
|
org.jlab.coda.et.data.AllData |
getData()
Gets all information about the ET system.
|
int |
getDebug()
Gets the debug output level.
|
EtEvent[] |
getEvents(EtAttachment att,
org.jlab.coda.et.enums.Mode mode,
org.jlab.coda.et.enums.Modify modify,
int microSec,
int count)
Get events from an ET system.
|
void |
getEvents(EtContainer container)
Get events from an ET system.
|
long |
getEventSize()
Gets the "normal" event size in bytes.
|
int |
getGroupCount()
Gets the number of groups events are divided into.
|
int[] |
getGroups()
Gets the array defining groups events are divided into.
|
int |
getHeartbeat()
Gets the ET system heartbeat.
|
int[] |
getHistogram()
Gets histogram containing data showing how many events in GRAND_CENTRAL's
input list when new events are requested by users.
|
java.lang.String |
getHost()
Gets the ET system's host name.
|
java.io.DataInputStream |
getInputStream()
Get the data input stream to talk to ET system server.
|
int |
getLanguage()
Gets the ET system's implementation language.
|
java.lang.String |
getLocalAddress()
Gets the local address (dot decimal) used to connect to ET system.
|
int |
getNumAttachments()
Gets the number of attachments in the ET system.
|
int |
getNumEvents()
Gets the number of events in the ET system.
|
int |
getNumProcesses()
Gets the number of local processes in the ET system.
|
int |
getNumStations()
Gets the number of stations in the ET system.
|
int |
getNumTemps()
Gets the number of temp events in the ET system.
|
java.io.DataOutputStream |
getOutputStream()
Get the data output stream to receive from the ET system server.
|
int |
getPid()
Gets the UNIX pid of the ET system process.
|
int |
getProcessesMax()
Gets the maximum number of local processes allowed in the ET system.
|
int |
getStationParallelPosition(EtStation station)
Gets the position of a parallel station in its ordered list of
parallel stations.
|
int |
getStationPosition(EtStation station)
Gets the position of a station in the ordered list of stations.
|
int |
getStationsMax()
Gets the maximum number of stations allowed in the ET system.
|
int |
getTcpPort()
Gets the tcp server port number.
|
int |
getTempsMax()
Gets the maximum number of temp events allowed in the ET system.
|
void |
kill()
Kill the ET system.
|
EtEvent[] |
newEvents(EtAttachment att,
org.jlab.coda.et.enums.Mode mode,
boolean noBuffer,
int microSec,
int count,
int size,
int group)
Get new (unused) events from a specified group of such events in an ET system.
|
EtEvent[] |
newEvents(EtAttachment att,
org.jlab.coda.et.enums.Mode mode,
int microSec,
int count,
int size)
Get new (unused) events from an ET system.
|
void |
newEvents(EtContainer container)
Get new (unused) events from a specified group of such events in an ET system.
|
void |
open()
Open the ET system and set up buffered communication.
|
void |
putEvents(EtAttachment att,
EtEvent[] evs)
Put events into an ET system.
|
void |
putEvents(EtAttachment att,
EtEvent[] evs,
int offset,
int length)
Put events into an ET system.
|
void |
putEvents(EtAttachment att,
java.util.List<EtEvent> eventList)
Put events into an ET system.
|
void |
putEvents(EtContainer container)
Put events into an ET system.
|
void |
removeStation(EtStation station)
Removes an existing station.
|
void |
setDebug(int val)
Sets the debug output level.
|
void |
setStationPosition(EtStation station,
int position,
int parallelPosition)
Changes the position of a station in the ordered list of stations.
|
boolean |
stationAttached(EtStation station,
EtAttachment att)
Is given attachment attached to a station?
|
boolean |
stationExists(java.lang.String name)
Does given station exist?
|
EtStation |
stationNameToObject(java.lang.String name)
Gets a station's object representation from its name.
|
boolean |
usingJniLibrary()
Gets whether the jni library is being used for local access to ET file.
|
void |
wakeUpAll(EtStation station)
Wake up all attachments waiting to read events from a station's
empty input list.
|
void |
wakeUpAttachment(EtAttachment att)
Wake up an attachment that is waiting to read events from a station's empty input list.
|
public EtSystem(EtSystemOpenConfig config, int debug) throws org.jlab.coda.et.exception.EtException
config
- EtSystemOpenConfig object to specify how to open the ET
system of interest (copy is stored and used)debug
- debug level (e.g. EtConstants.debugInfo
)org.jlab.coda.et.exception.EtException
- if config is null or not self-consistentpublic EtSystem(EtSystemOpenConfig config) throws org.jlab.coda.et.exception.EtException
config
- EtSystemOpenConfig object to specify how to open the ET
system of interest (copy is stored and used)org.jlab.coda.et.exception.EtException
- if config is not self-consistentpublic EtSystem(EtSystemOpen sys, int debug) throws java.io.IOException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtTooManyException
sys
- EtSystemOpen object to specify a connection to the ET
system of interestdebug
- debug level (e.g. EtConstants.debugInfo
)java.io.IOException
- if problems with network communicationsjava.net.UnknownHostException
- if the host address(es) is(are) unknownorg.jlab.coda.et.exception.EtException
- if arg is null;
if the responding ET system has the wrong name, runs a different
version of ET, or has a different value for
EtConstants.stationSelectInts
org.jlab.coda.et.exception.EtTooManyException
- if there were more than one valid response when policy is set to
EtConstants.policyError
and we are looking either
remotely or anywhere for the ET system.public java.io.DataInputStream getInputStream()
public java.io.DataOutputStream getOutputStream()
public boolean usingJniLibrary()
public int getDebug()
public void setDebug(int val) throws org.jlab.coda.et.exception.EtException
EtConstants.debugNone
,
EtConstants.debugSevere
, EtConstants.debugError
,
EtConstants.debugWarn
, or EtConstants.debugInfo
.val
- debug levelorg.jlab.coda.et.exception.EtException
- if bad argument valuepublic EtSystemOpenConfig getConfig()
public void open() throws java.io.IOException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtTooManyException
java.io.IOException
- if problems with network communicationsjava.net.UnknownHostException
- if the host address(es) is(are) unknownorg.jlab.coda.et.exception.EtException
- if the responding ET system has the wrong name, runs a different
version of ET, or has a different value for
EtConstants.stationSelectInts
org.jlab.coda.et.exception.EtTooManyException
- if there were more than one valid response when policy is set to
EtConstants.policyError
and we are looking either
remotely or anywhere for the ET system.public void close()
public void kill() throws java.io.IOException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic boolean alive()
true
if the ET system is alive and we're connected to it,
otherwise false
public void wakeUpAttachment(EtAttachment att) throws java.io.IOException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtClosedException
att
- attachment to wake upjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if arg is null;
if the attachment object is invalidorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic void wakeUpAll(EtStation station) throws java.io.IOException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtClosedException
station
- station whose attachments are to wake upjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if arg is null;
if the station object is invalidorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic EtStation createStation(EtStationConfig config, java.lang.String name) throws java.io.IOException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtExistsException, org.jlab.coda.et.exception.EtTooManyException
config
- station configurationname
- station namejava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtException
- if not connected to ET system;
if the select method's class cannot be loaded;
if the position is less than 1 (GRAND_CENTRAL's spot);
if the name is GRAND_CENTRAL (already taken);
if the configuration's cue size is too big;
if the configuration needs a select class name
if the configuration inconsistent
if trying to add incompatible parallel station;
if trying to add parallel station to head of existing parallel group;org.jlab.coda.et.exception.EtExistsException
- if the station already exists but with a different configurationorg.jlab.coda.et.exception.EtTooManyException
- if the maximum number of stations has been created alreadypublic EtStation createStation(EtStationConfig config, java.lang.String name, int position) throws java.io.IOException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtExistsException, org.jlab.coda.et.exception.EtTooManyException
config
- station configurationname
- station nameposition
- position in the linked list to put the station.java.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtException
- if not connected to ET system;
if the select method's class cannot be loaded;
if the position is less than 1 (GRAND_CENTRAL's spot);
if the name is GRAND_CENTRAL (already taken);
if the configuration's cue size is too big;
if the configuration needs a select class name
if the configuration inconsistent
if trying to add incompatible parallel station;
if trying to add parallel station to head of existing parallel group;org.jlab.coda.et.exception.EtExistsException
- if the station already exists but with a different configurationorg.jlab.coda.et.exception.EtTooManyException
- if the maximum number of stations has been created alreadypublic EtStation createStation(EtStationConfig config, java.lang.String name, int position, int parallelPosition) throws java.io.IOException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtExistsException, org.jlab.coda.et.exception.EtTooManyException
config
- station configurationname
- station nameposition
- position in the main list to put the station.parallelPosition
- position in the list of parallel
stations to put the station.java.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtException
- if arg is null;
if the select method's class cannot be loaded;
if the position is less than 1 (GRAND_CENTRAL's spot);
if the name is GRAND_CENTRAL (already taken);
if the name is too long;
if the configuration's cue size is too big;
if the configuration needs a select class name;
if the configuration inconsistent
if trying to add incompatible parallel station;
if trying to add parallel station to head of existing parallel group;org.jlab.coda.et.exception.EtExistsException
- if the station already exists but with a different configurationorg.jlab.coda.et.exception.EtTooManyException
- if the maximum number of stations has been created alreadypublic void removeStation(EtStation station) throws java.io.IOException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtException
station
- station objectjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtException
- if arg is null;
if attachments to the station still exist;
if the station is GRAND_CENTRAL (which must always exist);
if the station does not exist;
if the station object is invalidpublic void setStationPosition(EtStation station, int position, int parallelPosition) throws java.io.IOException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtException
station
- station objectposition
- position in the main station list (starting at 0)parallelPosition
- position in list of parallel stations (starting at 0)java.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtException
- if arg is null;
if the station does not exist;
if trying to move GRAND_CENTRAL;
if position is < 1 (GRAND_CENTRAL is always first);
if parallelPosition < 0;
if station object is invalid;
if trying to move an incompatible parallel station to an existing group
of parallel stations or to the head of an existing group of parallel
stations.public int getStationPosition(EtStation station) throws java.io.IOException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtException
station
- station objectjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtException
- if arg is null;
if the station does not exist;
if station object is invalidpublic int getStationParallelPosition(EtStation station) throws java.io.IOException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtException
station
- station objectjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtException
- if arg is null;
if the station does not exist;
if station object is invalidpublic EtAttachment attach(EtStation station) throws java.io.IOException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtTooManyException
station
- station objectjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtException
- if arg is null;
if the station does not exist or is not in active/idle state;
if station object is invalidorg.jlab.coda.et.exception.EtTooManyException
- if no more attachments are allowed to the station and/or ET systempublic void detach(EtAttachment att) throws java.io.IOException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtException
att
- attachment objectjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtException
- if arg is null;
if not attached to station;
if the attachment object is invalidpublic boolean stationAttached(EtStation station, EtAttachment att) throws java.io.IOException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtException
station
- station objectatt
- attachment objecttrue
if an attachment is attached to a station,
and false
otherwisejava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtException
- if arg is null;
if the station does not exist;
if station object is invalid;
if attachment object is invalidpublic boolean stationExists(java.lang.String name) throws java.io.IOException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtException
name
- station nametrue
if a station exists, and
false
otherwisejava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtException
- if arg is null;public EtStation stationNameToObject(java.lang.String name) throws java.io.IOException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtException
name
- station namejava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtException
- if arg is null;public EtEvent[] newEvents(EtAttachment att, org.jlab.coda.et.enums.Mode mode, int microSec, int count, int size) throws org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtEmptyException, org.jlab.coda.et.exception.EtBusyException, org.jlab.coda.et.exception.EtTimeoutException, org.jlab.coda.et.exception.EtWakeUpException, java.io.IOException
att
- attachment objectmode
- if there are no new events available, this parameter specifies
whether to wait for some by sleeping Mode.SLEEP
,
to wait for a set time Mode.TIMED
,
or to return immediately Mode.ASYNC
.microSec
- the number of microseconds to wait if a timed wait is specifiedcount
- the number of events desiredsize
- the size of events in bytesjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if not connected to ET system;
if arguments have bad values;
if attachment object is invalid;
for other general errorsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtEmptyException
- if the mode is asynchronous and the station's input list is emptyorg.jlab.coda.et.exception.EtBusyException
- if the mode is asynchronous and the station's input list is being used
(the mutex is locked)org.jlab.coda.et.exception.EtTimeoutException
- if the mode is timed wait and the time has expiredorg.jlab.coda.et.exception.EtWakeUpException
- if the attachment has been commanded to wakeuppublic EtEvent[] newEvents(EtAttachment att, org.jlab.coda.et.enums.Mode mode, boolean noBuffer, int microSec, int count, int size, int group) throws org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtEmptyException, org.jlab.coda.et.exception.EtBusyException, org.jlab.coda.et.exception.EtTimeoutException, org.jlab.coda.et.exception.EtWakeUpException, java.io.IOException
att
- attachment objectmode
- if there are no new events available, this parameter specifies
whether to wait for some by sleeping Mode.SLEEP
,
to wait for a set time Mode.TIMED
,
or to return immediately Mode.ASYNC
.noBuffer
- if true
, the new events are to have no byte array and
no associated ByteBuffer created. Also the user must supply the
ByteBuffer using EtEventImpl.setDataBuffer(java.nio.ByteBuffer)
.
Only used if connecting remotely.microSec
- the number of microseconds to wait if a timed wait is specifiedcount
- the number of events desiredsize
- the size of events in bytesgroup
- group number from which to draw new events. Some ET systems have
unused events divided into groups whose numbering starts at 1.
For ET system not so divided, all events belong to group 1.java.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if arguments have bad values;
if attachment object is invalid;
if group number is too high;
for other general errorsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtEmptyException
- if the mode is asynchronous and the station's input list is emptyorg.jlab.coda.et.exception.EtBusyException
- if the mode is asynchronous and the station's input list is being used
(the mutex is locked)org.jlab.coda.et.exception.EtTimeoutException
- if the mode is timed wait and the time has expiredorg.jlab.coda.et.exception.EtWakeUpException
- if the attachment has been commanded to wakeuppublic void newEvents(EtContainer container) throws org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtEmptyException, org.jlab.coda.et.exception.EtBusyException, org.jlab.coda.et.exception.EtTimeoutException, org.jlab.coda.et.exception.EtWakeUpException, java.io.IOException
Warning: a call to this method must be
followed by a call to putEvents(EtContainer)
or dumpEvents(EtContainer)
with the same container argument.
If that does not occur, and this method is called twice or more in succession,
then the previously obtained new events (in the EtContainer) will be overwritten
by the newly obtained events.
This method is only useful for callers who are trying to minimize generated JVM garbage and familiar with the limitations of its use.
container
- helping object used to set/get parameters for getting new event.java.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if container arg null or container.newEvents not previously called;
if thread calling this is interrupted while reading from socket;
for other general errorsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtEmptyException
- if the mode is asynchronous and the station's input list is emptyorg.jlab.coda.et.exception.EtBusyException
- if the mode is asynchronous and the station's input list is being used
(the mutex is locked)org.jlab.coda.et.exception.EtTimeoutException
- if the mode is timed wait and the time has expiredorg.jlab.coda.et.exception.EtWakeUpException
- if the attachment has been commanded to wakeuppublic EtEvent[] getEvents(EtAttachment att, org.jlab.coda.et.enums.Mode mode, org.jlab.coda.et.enums.Modify modify, int microSec, int count) throws org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtEmptyException, org.jlab.coda.et.exception.EtBusyException, org.jlab.coda.et.exception.EtTimeoutException, org.jlab.coda.et.exception.EtWakeUpException, java.io.IOException
NOTE: This method must implement the SLEEP mode using the TIMED mode when employing
network communications due to the fact that otherwise it may block for extended periods of
time in a synchronized block of code. This would not allow other, vital
methods to be called simultaneously (e.g. wakeUpAll(EtStation)
).
att
- attachment objectmode
- if there are no new events available, this parameter specifies
whether to wait for some by sleeping Mode.SLEEP
,
to wait for a set time Mode.TIMED
,
or to return immediately Mode.ASYNC
.modify
- this specifies whether this application plans
on modifying the data in events obtained Modify.ANYTHING
, or
only modifying headers Modify.HEADER
. The default assumed ,Modify.NOTHING
,
is that no values are modified resulting in the events being put back into
the ET system (by remote server) immediately upon being copied and that copy
sent to this method's caller.microSec
- the number of microseconds to wait if a timed wait is
specifiedcount
- the number of events desiredjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if arguments have bad values;
if the attachment's station is GRAND_CENTRAL;
if the attachment object is invalid;
for other general errorsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtEmptyException
- if the mode is asynchronous and the station's input list is emptyorg.jlab.coda.et.exception.EtBusyException
- if the mode is asynchronous and the station's input list is being used
(the mutex is locked)org.jlab.coda.et.exception.EtTimeoutException
- if the mode is timed wait and the time has expiredorg.jlab.coda.et.exception.EtWakeUpException
- if the attachment has been commanded to wakeuppublic void getEvents(EtContainer container) throws org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException, org.jlab.coda.et.exception.EtEmptyException, org.jlab.coda.et.exception.EtBusyException, org.jlab.coda.et.exception.EtTimeoutException, org.jlab.coda.et.exception.EtWakeUpException, java.io.IOException
No check to see if connected to ET.
container
- helping object used to set/get parameters for getting new event.java.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if container arg null or container.putEvents not previously called;
if thread calling this is interrupted while reading from socket;
for other general errors
for other general errorsorg.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedorg.jlab.coda.et.exception.EtEmptyException
- if the mode is asynchronous and the station's input list is emptyorg.jlab.coda.et.exception.EtBusyException
- if the mode is asynchronous and the station's input list is being used
(the mutex is locked)org.jlab.coda.et.exception.EtTimeoutException
- if the mode is timed wait and the time has expiredorg.jlab.coda.et.exception.EtWakeUpException
- if the attachment has been commanded to wakeuppublic void putEvents(EtAttachment att, java.util.List<EtEvent> eventList) throws java.io.IOException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException
att
- attachment objecteventList
- list of event objectsjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if invalid arg(s);
if not connected to ET system;
if events are not owned by this attachment;org.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic void putEvents(EtAttachment att, EtEvent[] evs) throws java.io.IOException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException
att
- attachment objectevs
- array of event objectsjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if invalid arg(s);
if not connected to ET system;
if events are not owned by this attachment;org.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic void putEvents(EtAttachment att, EtEvent[] evs, int offset, int length) throws java.io.IOException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException
att
- attachment objectevs
- array of event objectsoffset
- offset into arraylength
- number of array elements to putjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if invalid arg(s);
if events are not owned by this attachment;
if null data buffer and whole event's being modified;org.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic void putEvents(EtContainer container) throws java.io.IOException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException
container
- helping object used to set/get parameters for putting events.java.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if invalid arg;
arg not configured for this method;
if events are not owned by this attachment;
if null data buffer and whole event's being modified;org.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic void dumpEvents(EtAttachment att, EtEvent[] evs) throws java.io.IOException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException
att
- attachment objectevs
- array of event objectsjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if invalid arg(s);
if not connected to ET system;
if events are not owned by this attachment;org.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic void dumpEvents(EtAttachment att, java.util.List<EtEvent> eventList) throws java.io.IOException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException
att
- attachment objecteventList
- list of event objectsjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if invalid arg(s);
if not connected to ET system;
if events are not owned by this attachment;org.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic void dumpEvents(EtAttachment att, EtEvent[] evs, int offset, int length) throws java.io.IOException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException
att
- attachment objectevs
- array of event objectsoffset
- offset into arraylength
- number of array elements to putjava.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if invalid arg(s);
if events are not owned by this attachment;org.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic void dumpEvents(EtContainer container) throws java.io.IOException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtDeadException, org.jlab.coda.et.exception.EtClosedException
container
- helping object used to set/get parameters for putting events.java.io.IOException
- if problems with network communicationsorg.jlab.coda.et.exception.EtException
- if invalid arg;
if events are not owned by this attachment;org.jlab.coda.et.exception.EtDeadException
- if the ET system processes are deadorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic int getNumStations() throws java.io.IOException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if there are problems with network communicationorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic int getStationsMax() throws java.io.IOException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if there are problems with network communicationorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic int getNumAttachments() throws java.io.IOException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if there are problems with network communicationorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic int getAttachmentsMax() throws java.io.IOException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if there are problems with network communicationorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic int getNumProcesses() throws java.io.IOException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if there are problems with network communicationorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic int getProcessesMax() throws java.io.IOException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if there are problems with network communicationorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic int getNumTemps() throws java.io.IOException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if there are problems with network communicationorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic int getTempsMax() throws java.io.IOException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if there are problems with network communicationorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic int getHeartbeat() throws java.io.IOException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if there are problems with network communicationorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic int getPid() throws java.io.IOException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if there are problems with network communicationorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic int getGroupCount() throws java.io.IOException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if there are problems with network communicationorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic int[] getGroups() throws java.io.IOException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if there are problems with network communicationorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic int getNumEvents()
public long getEventSize()
public int getLanguage()
public java.lang.String getLocalAddress()
public java.lang.String getHost()
public int getTcpPort()
public org.jlab.coda.et.data.AllData getData() throws org.jlab.coda.et.exception.EtException, java.io.IOException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if there are problems with network communicationorg.jlab.coda.et.exception.EtException
- if error in data format/protocolorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closedpublic int[] getHistogram() throws java.io.IOException, org.jlab.coda.et.exception.EtException, org.jlab.coda.et.exception.EtClosedException
java.io.IOException
- if there are problems with network communicationorg.jlab.coda.et.exception.EtException
- if error in data format/protocolorg.jlab.coda.et.exception.EtClosedException
- if the ET system is closed