BOSS 7.0.2
BESIII Offline Software System
|
Classes | |
class | FullEventFragment |
struct | node_t |
class | ROBFragment |
forward More... | |
class | ROSFragment |
forward More... | |
class | SubDetectorFragment |
forward More... | |
Typedefs | |
typedef struct eformat::write::node_t | node_t |
Functions | |
void | set (node_t &i, const uint32_t *b, size_t l, node_t *n=0) |
void | set (node_t &i, const struct iovec &v, node_t *n=0) |
void | cat (node_t *n, const struct iovec *v, uint32_t count) |
void | cat (node_t *n, uint32_t count) |
uint32_t | count (const node_t &list) |
uint32_t | count_words (const node_t &list) |
uint32_t | copy (const node_t &list, uint32_t *dest, size_t max) |
uint32_t | shallow_copy (const node_t &list, struct iovec *dest, uint32_t max) |
typedef struct eformat::write::node_t eformat::write::node_t |
Defines what is a valid "I/O vector" (a.k.a. iov) node list for eformat
void eformat::write::cat | ( | node_t * | n, |
const struct iovec * | v, | ||
uint32_t | count | ||
) |
Concatenates a set of IOV's to make up a list as required by some eformat::write functionality.
n | the first node_t of a vector of node_t's. The C array pointed by n should have at least "count" available positions |
v | the first IOV node of a vector |
count | the number of IOV nodes pointed by "v" |
Definition at line 30 of file node.cxx.
void eformat::write::cat | ( | node_t * | n, |
uint32_t | count | ||
) |
Concatenates an already set vector of eformat::write::node_t to make up a valid list.
uint32_t eformat::write::copy | ( | const node_t & | list, |
uint32_t * | dest, | ||
size_t | max | ||
) |
Performs a memcpy like operation, concatenating the list given as parameter to a block of memory, as fast as possible.
list | The top of the list |
dest | The destination block of memory |
max | The number of 32-bit words allocated in "dest" |
Definition at line 64 of file node.cxx.
Referenced by eformat::old::convert(), convert_ros(), and RawDataOutputSvc::putEvent().
uint32_t eformat::write::count | ( | const node_t & | list | ) |
Counts how many pages I'm made of
list | The top of the list |
Definition at line 42 of file node.cxx.
Referenced by eformat::write::FullEventFragment::FullEventFragment(), eformat::write::ROSFragment::ROSFragment(), and eformat::write::SubDetectorFragment::SubDetectorFragment().
uint32_t eformat::write::count_words | ( | const node_t & | list | ) |
Sets an IOV base values
i | the node to be set |
b | the base address to be used by this IOV |
l | the size of the page, in words |
n | the next node this node should point to |
Definition at line 16 of file node.cxx.
Referenced by cat(), eformat::write::FullEventFragment::FullEventFragment(), eformat::write::FullEventFragment::operator=(), eformat::write::ROBFragment::operator=(), eformat::write::ROSFragment::operator=(), eformat::write::SubDetectorFragment::operator=(), eformat::write::ROBFragment::ROBFragment(), eformat::write::ROSFragment::ROSFragment(), and eformat::write::SubDetectorFragment::SubDetectorFragment().
uint32_t eformat::write::shallow_copy | ( | const node_t & | list, |
struct iovec * | dest, | ||
uint32_t | max | ||
) |
Performs a shallow copy like operation, concatenating the list given as parameter to a vector of iovec nodes. This will only copy pointers and sizes, but not real data.
list | The top of the list |
dest | The destination vector of iovec nodes |
max | The number of iovec nodes I can use there |
Definition at line 80 of file node.cxx.