The event builder allows you to send chains of event fragments to it. A chain is essentially a linked list of event fragments. Each fragment itself consists of a header and a body. These data structures are all described in the <fragment.h> header file.
The Event builder client API in turn contains several utilities that allow you to send data to the event builder from any of several internal representatinos. In all cases these representations are converted to a chain which is then sent to the event builder.
Regardless of the representation you choose, you will need to fill in the contents of each fragment header. This data structure contains the following fields.
Each event must have an extracted timestamp. The first stage of the event builder does an absolute total time ordering of all input fragments by increasing timestamp.
The timestamp must be synchronized between all data sources to a high degree of accuracy if this total ordering is going to represent a true time ordering of fragments, since the second stage of the event builder builds events by matching fragments that live within a coincidence window.
Each data source has a unique id chosen by the source itself. Furthermore, each client can represent several data sources (all sourcdes system wide must be unique). This field contains the source id that corresponds to the fragment data.
Contains the size of the fragment payload in bytes. this size does not include the size of this fragment header.
The <fragment.h> header also defines
a Fragment type which contains
s_header which is a a
FragmentHeader and a
which is a pointer to the body of the event described by
Finally the FragmentChain contains the fields
s_pNext which is a
pFragmentChain and points to the next item in the
s_pFragment which points to a single
fragment. The last item in the chain has a
s_pNext that is a null pointer. Fragment chains
are required to be in timestamp order by event source.
defined in the
void submitFragments(pFragmentChain pChain);
pChain is a pointer to the first
element of the fragment chain that will be sent to the
void submitFragments(size_t nFragments, pFragment ppFragments);
nFragmnents is the number of
fragments to submit while
is a pointer to the first element of an array
void submitFragments(FragmentPointerList fragments);
fragments is an STL list
whose elements are pFragment, pointers to