arm4::ArmTimestamp Class Reference
[ARM 4.1]

is an abstract interface which is a superclass of specific timestamp formats. More...

Inheritance diagram for arm4::ArmTimestamp:
arm4::ArmInterface arm4::ArmTimestampOpaque

List of all members.


Detailed Description

is an abstract interface which is a superclass of specific timestamp formats.

The following timestamp formats are known:

ArmTimestamp is abstract in the sense that any ArmTimestamp object returned by any method in this specification satisfies one of the subclass interfaces. The ArmTimestamp subclasses are used in situations in which the context of a transaction is not known when the transaction begins to execute, and for which there is a non-trivial delay before the context is known. ARM requires that the full context of a transaction be known when ArmTransaction’s start() is executed (because the correlator is generated at this time). In ARM 2.0 and 3.0 there is no way to capture any time spent processing the transaction before the context is known. ARM 4.0 introduced the concept of an “arrival time”. The arrival time is when processing of the transaction commenced. By default it is the moment in time when start() executes. If the delay between the start of processing and the execution of start() is significant, the application can capture the arrival time by creating an ArmTimestamp, setting the timestamp using set(), then associating it with an ArmTransaction using ArmTransaction’s setPrestartTimeValue(ArmTimestamp) prior to calling ArmTransaction’s start(). The following considerations influence the selection of which ArmTimestamp subclass to use:

  • If the application can invoke ARM interfaces at the moment that processing of the transaction begins, use ArmTimestampOpaque. Calling ArmTimestampOpaque’s set() stores a timestamp with the current time. Note: The same result can be achieved by invoking ArmTransaction’s setArrivalTime(). The use of ArmTimestampOpaque provides more flexibility and is preferred. Beginning with ARM 4.1, setArrivalTime() is deprecated in favor of using ArmTimestamp, but setArrivalTime() must be supported by all implementations of ARM 4.x.
  • If the application cannot invoke ARM interfaces at the moment that processing of the transaction begins, but can capture the current time through some other means, use either ArmTimestampStrings or ArmTimestampUsecJan1970, converting the captured time into the appropriate format.
Author:
ARM Working Group of The Open Group, MyARM GmbH
Since:
ARM 4.1

The documentation for this class was generated from the following file: