ET System  16.4
 All Data Structures Files Functions Variables Typedefs Macros Groups Pages
et_event_t Struct Reference

This structure defines an Event which exists in shared memory, holds data, and gets passed from station to station. More...

#include <et.h>

Data Fields

struct et_event_tnext
 Next event in linked list. More...
 
void * tempdata
 For MacOS or non mutex-sharing systems, a temp event gotten by the server thread needs its data pointer stored while the user maps the temp file and puts that pointer in pdata field (when converting the pdata pointer back to a value the ET system uses, so the server thread can unmap it from memory, grab & restore the stored value). More...
 
void * pdata
 Set to either data field pointer (shared mem), or to temp event buffer. More...
 
char * data
 Pointer to shared memory data. More...
 
uint64_t length
 Size of actual data in bytes. More...
 
uint64_t memsize
 Total size of available data memory in bytes. More...
 
uint64_t pointer
 For remote events, pointer to this event in the server's space (used for writing of modified events). More...
 
int modify
 When "getting" events from a remote client, this flag tells server whether this event will be modified with the intention of sending it back to the server (ET_MODIFY) or whether only the header will be modified and returned (ET_MODIFY_HEADER) or whether there'll be no modification of the event (0). More...
 
int priority
 Event priority, either ET_HIGH or ET_LOW. More...
 
int owner
 Id of attachment that owns this event, else the system (-1). More...
 
int temp
 ET_EVENT_TEMP if temporary event, else ET_EVENT_NORMAL. More...
 
int age
 ET_EVENT_NEW if it's a new event, else ET_EVENT_USED (new events always go to GrandCentral if user crashes). More...
 
int datastatus
 ET_DATA_OK normally, ET_DATA_CORRUPT if data corrupt, ET_DATA_POSSIBLY_CORRUPT if data questionable. More...
 
int byteorder
 Use to track the data's endianness (set to 0x04030201). More...
 
int group
 Group number, events are divided into groups for limiting the number of events producers have access to. More...
 
int place
 Place number of event's relative position in shared mem starting with 0 (lowest memory position) and ending with (# of events - 1). More...
 
int control [ET_STATION_SELECT_INTS]
 Array of ints to select on for entry into station. More...
 
char filename [ET_TEMPNAME_LENGTH]
 Filename of temp event. More...
 

Detailed Description

This structure defines an Event which exists in shared memory, holds data, and gets passed from station to station.

Field Documentation

int et_event_t::age

ET_EVENT_NEW if it's a new event, else ET_EVENT_USED (new events always go to GrandCentral if user crashes).

Referenced by et_event_put(), and et_events_put().

int et_event_t::byteorder

Use to track the data's endianness (set to 0x04030201).

Referenced by et_event_getendian(), et_event_needtoswap(), et_event_setendian(), etr_event_get(), etr_event_put(), etr_events_get(), and etr_events_put().

int et_event_t::control[ET_STATION_SELECT_INTS]

Array of ints to select on for entry into station.

Referenced by et_event_getcontrol(), et_event_setcontrol(), etr_event_get(), etr_event_put(), and etr_events_get().

char* et_event_t::data

Pointer to shared memory data.

int et_event_t::datastatus
char et_event_t::filename[ET_TEMPNAME_LENGTH]

Filename of temp event.

Referenced by et_event_dump().

int et_event_t::group

Group number, events are divided into groups for limiting the number of events producers have access to.

Referenced by et_event_getgroup(), et_event_new(), and et_events_new().

int et_event_t::modify

When "getting" events from a remote client, this flag tells server whether this event will be modified with the intention of sending it back to the server (ET_MODIFY) or whether only the header will be modified and returned (ET_MODIFY_HEADER) or whether there'll be no modification of the event (0).

Referenced by et_events_put(), etr_event_dump(), etr_event_get(), etr_event_new(), etr_event_put(), etr_events_get(), etr_events_new(), and etr_events_new_group().

struct et_event_t* et_event_t::next

Next event in linked list.

int et_event_t::owner

Id of attachment that owns this event, else the system (-1).

Referenced by et_event_dump(), et_event_put(), etr_event_new(), etr_event_put(), etr_events_new(), and etr_events_new_group().

void* et_event_t::pdata
int et_event_t::place

Place number of event's relative position in shared mem starting with 0 (lowest memory position) and ending with (# of events - 1).

Referenced by etr_event_dump(), etr_event_get(), etr_event_new(), etr_event_put(), etr_events_get(), etr_events_new(), and etr_events_new_group().

uint64_t et_event_t::pointer

For remote events, pointer to this event in the server's space (used for writing of modified events).

int et_event_t::priority
int et_event_t::temp
void* et_event_t::tempdata

For MacOS or non mutex-sharing systems, a temp event gotten by the server thread needs its data pointer stored while the user maps the temp file and puts that pointer in pdata field (when converting the pdata pointer back to a value the ET system uses, so the server thread can unmap it from memory, grab & restore the stored value).


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