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

Structure defining an ET system user id (one needed for each system in use) which contains pointers to key mem locations, config info, status info, node locality and remote node info. More...

#include <et_private.h>

Data Fields

int init
 ET_STRUCT_OK if structure initialized, else ET_STRUCT_NEW. More...
 
int lang
 Language this ET system was written in: ET_LANG_C, ET_LANG_CPP, or ET_LANG_JAVA. More...
 
int alive
 Is system alive? 1 = yes, 0 = no. More...
 
int closed
 Has et_close been called? 1 = yes, 0 = no. More...
 
int bit64
 1 if the ET system is a 64 bit executable, else 0. More...
 
et_proc_id proc
 Unique process id# for process connected to ET system (index into data stored in the et_system struct) which for a call to et_system_start is -1 (this is because it refers to the system itself and is not "connected" to the ET system). More...
 
int race
 Flag used to eliminate race conditions. More...
 
int cleanup
 Flag used to warn certain routines (such as et_station_detach and et_restore_events) that they are being executed by the main ET system process because the ET system is cleaning up after an ET client's crash (as opposed to being executed by a client) and this prevents mutexes from being grabbed during cleanup and temp events from being unlinked during normal usage. More...
 
int debug
 Level of desired printed debug output which may be ET_DEBUG_NONE, ET_DEBUG_SEVERE, ET_DEBUG_ERROR, ET_DEBUG_WARN, or ET_DEBUG_INFO. More...
 
int nevents
 Total number of events in ET system. More...
 
int group
 Default event group for calls to et_event_new and et_events_new. More...
 
int version
 Major version number of this ET software release. More...
 
int nselects
 Number of selection ints per station (or control ints per event). More...
 
int share
 ET_MUTEX_SHARE if operating system can share mutexes between local processes, or ET_MUTEX_NOSHARE for operating systems that cannot - like MacOS. More...
 
size_t memsize
 Total size of shared memory in bytes - used to unmap the mmapped file when it's already been deleted. More...
 
uint64_t esize
 Size in bytes of events in ET system. More...
 
ptrdiff_t offset
 Offset between pointers to same shared memory for ET & user's processes (needed for user process to make sense of pointers in shared memory). More...
 
int locality
 ET_LOCAL if process is on same machine as ET system, ET_REMOTE if process is on another machine, ET_LOCAL_NOSHARE if process is on same machine as ET but cannot shared mutexes between processes (like MacOS). More...
 
int sockfd
 File descriptor of client's TCP socket connection to ET server. More...
 
int endian
 Endianness of client's node ET_ENDIAN_BIG or ET_ENDIAN_LITTLE. More...
 
int systemendian
 Endianness of ET system's node ET_ENDIAN_BIG or ET_ENDIAN_LITTLE. More...
 
int iov_max
 Store the operating system's value iovmax of client's node, default to ET_IOV_MAX (how many separate buffers can be sent with one writev() call). More...
 
int port
 Port number for ET TCP server. More...
 
char ethost [ET_MAXHOSTNAMELEN]
 Host of the ET system. More...
 
char localAddr [ET_IPADDRSTRLEN]
 Local dot-decimal address of socket connection to ET. More...
 
void * pmap
 Pointer to start of shared (mapped) memory. More...
 
et_systemsys
 Pointer to et_system structure in shared memory. More...
 
et_stationstats
 Pointer to start of et_station structures in shared memory. More...
 
int * histogram
 Pointer to histogram data in shared memory. More...
 
et_eventevents
 Pointer to start of et_event structures in shared memory. More...
 
char * data
 Pointer to start of event data in shared memory. More...
 
et_stationgrandcentral
 Pointer to grandcentral station in shared memory. More...
 
pthread_mutex_t mutex
 Pthread mutex for thread-safe remote communications. More...
 
pthread_rwlock_t sharedMemlock
 Pthread read-write lock for preventing access of unmapped memory after calling et_close. More...
 

Detailed Description

Structure defining an ET system user id (one needed for each system in use) which contains pointers to key mem locations, config info, status info, node locality and remote node info.

Field Documentation

int et_id_t::alive

Is system alive? 1 = yes, 0 = no.

Referenced by et_system_start().

int et_id_t::bit64

1 if the ET system is a 64 bit executable, else 0.

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

int et_id_t::cleanup

Flag used to warn certain routines (such as et_station_detach and et_restore_events) that they are being executed by the main ET system process because the ET system is cleaning up after an ET client's crash (as opposed to being executed by a client) and this prevents mutexes from being grabbed during cleanup and temp events from being unlinked during normal usage.

Referenced by et_station_detach().

char* et_id_t::data

Pointer to start of event data in shared memory.

Referenced by et_system_start().

int et_id_t::debug

Level of desired printed debug output which may be ET_DEBUG_NONE, ET_DEBUG_SEVERE, ET_DEBUG_ERROR, ET_DEBUG_WARN, or ET_DEBUG_INFO.

Referenced by et_attach_geteventsdump(), et_attach_geteventsget(), et_attach_geteventsmake(), et_attach_geteventsput(), et_event_dump(), et_event_put(), et_event_setdatabuffer(), et_events_bridge(), et_events_dump(), et_events_put(), et_station_attach(), et_station_compare_parallel(), et_station_config_check(), et_station_create_at(), et_station_detach(), et_station_exists(), et_station_getattachments(), et_station_getblock(), et_station_getclass(), et_station_getcue(), et_station_getfunction(), et_station_getinputcount(), et_station_getlib(), et_station_getoutputcount(), et_station_getposition(), et_station_getprescale(), et_station_getrestore(), et_station_getselect(), et_station_getselectwords(), et_station_getstatus(), et_station_getuser(), et_station_isattached(), et_station_remove(), et_station_setblock(), et_station_setcue(), et_station_setposition(), et_station_setprescale(), et_station_setrestore(), et_station_setselectwords(), et_station_setuser(), et_system_close(), et_system_getdebug(), et_system_setdebug(), et_system_start(), et_wakeup_all(), et_wakeup_attachment(), etr_alive(), etr_close(), etr_event_dump(), etr_event_get(), etr_event_new(), etr_event_put(), etr_events_dump(), etr_events_get(), etr_events_new(), etr_events_new_group(), etr_events_put(), etr_forcedclose(), etr_kill(), etr_station_attach(), etr_station_create_at(), etr_station_detach(), etr_station_exists(), etr_station_getclass(), etr_station_getfunction(), etr_station_getlib(), etr_station_getposition(), etr_station_getselectwords(), etr_station_isattached(), etr_station_remove(), etr_station_setposition(), etr_station_setselectwords(), etr_wait_for_alive(), etr_wakeup_all(), and etr_wakeup_attachment().

int et_id_t::endian

Endianness of client's node ET_ENDIAN_BIG or ET_ENDIAN_LITTLE.

uint64_t et_id_t::esize

Size in bytes of events in ET system.

Referenced by et_system_geteventsize(), et_system_start(), etr_event_new(), etr_events_new(), and etr_events_new_group().

char et_id_t::ethost[ET_MAXHOSTNAMELEN]

Host of the ET system.

Referenced by et_system_gethost().

et_event* et_id_t::events

Pointer to start of et_event structures in shared memory.

Referenced by et_system_start().

int et_id_t::group

Default event group for calls to et_event_new and et_events_new.

Referenced by et_system_getgroup(), and et_system_setgroup().

int* et_id_t::histogram

Pointer to histogram data in shared memory.

Referenced by et_system_start().

int et_id_t::iov_max

Store the operating system's value iovmax of client's node, default to ET_IOV_MAX (how many separate buffers can be sent with one writev() call).

int et_id_t::lang

Language this ET system was written in: ET_LANG_C, ET_LANG_CPP, or ET_LANG_JAVA.

Referenced by et_station_getclass(), et_station_getfunction(), and et_station_getlib().

char et_id_t::localAddr[ET_IPADDRSTRLEN]

Local dot-decimal address of socket connection to ET.

Referenced by et_system_getlocaladdress().

int et_id_t::locality

ET_LOCAL if process is on same machine as ET system, ET_REMOTE if process is on another machine, ET_LOCAL_NOSHARE if process is on same machine as ET but cannot shared mutexes between processes (like MacOS).

Referenced by et_alive(), et_attach_geteventsdump(), et_attach_geteventsget(), et_attach_geteventsmake(), et_attach_geteventsput(), et_close(), et_event_dump(), et_event_put(), et_event_setdatabuffer(), et_events_bridge(), et_events_dump(), et_events_put(), et_forcedclose(), et_kill(), et_station_attach(), et_station_create_at(), et_station_detach(), et_station_exists(), et_station_getattachments(), et_station_getblock(), et_station_getclass(), et_station_getcue(), et_station_getfunction(), et_station_getinputcount(), et_station_getlib(), et_station_getoutputcount(), et_station_getposition(), et_station_getprescale(), et_station_getrestore(), et_station_getselect(), et_station_getselectwords(), et_station_getstatus(), et_station_getuser(), et_station_isattached(), et_station_remove(), et_station_setblock(), et_station_setcue(), et_station_setposition(), et_station_setprescale(), et_station_setrestore(), et_station_setselectwords(), et_station_setuser(), et_system_getattachments(), et_system_getattsmax(), et_system_getheartbeat(), et_system_getlocality(), et_system_getpid(), et_system_getprocs(), et_system_getprocsmax(), et_system_getstations(), et_system_getstationsmax(), et_system_gettemps(), et_system_gettempsmax(), et_system_setgroup(), et_wait_for_alive(), et_wakeup_all(), and et_wakeup_attachment().

size_t et_id_t::memsize

Total size of shared memory in bytes - used to unmap the mmapped file when it's already been deleted.

Referenced by et_system_close(), and et_system_start().

pthread_mutex_t et_id_t::mutex

Pthread mutex for thread-safe remote communications.

int et_id_t::nevents

Total number of events in ET system.

Referenced by et_system_getnumevents(), and et_system_start().

int et_id_t::nselects

Number of selection ints per station (or control ints per event).

ptrdiff_t et_id_t::offset

Offset between pointers to same shared memory for ET & user's processes (needed for user process to make sense of pointers in shared memory).

Referenced by et_system_start().

void* et_id_t::pmap

Pointer to start of shared (mapped) memory.

Referenced by et_system_close(), and et_system_start().

int et_id_t::port

Port number for ET TCP server.

Referenced by et_system_getserverport().

et_proc_id et_id_t::proc

Unique process id# for process connected to ET system (index into data stored in the et_system struct) which for a call to et_system_start is -1 (this is because it refers to the system itself and is not "connected" to the ET system).

Referenced by et_station_attach(), et_station_detach(), and et_system_close().

int et_id_t::race

Flag used to eliminate race conditions.

Referenced by et_system_start().

int et_id_t::share

ET_MUTEX_SHARE if operating system can share mutexes between local processes, or ET_MUTEX_NOSHARE for operating systems that cannot - like MacOS.

pthread_rwlock_t et_id_t::sharedMemlock

Pthread read-write lock for preventing access of unmapped memory after calling et_close.

et_station* et_id_t::stats

Pointer to start of et_station structures in shared memory.

Referenced by et_system_start().

int et_id_t::systemendian

Endianness of ET system's node ET_ENDIAN_BIG or ET_ENDIAN_LITTLE.

int et_id_t::version

Major version number of this ET software release.


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