Jpp
Classes | Typedefs | Enumerations | Functions | Variables
JNET Namespace Reference

Interprocess communication. More...

Classes

class  JClient
 ControlHost client manager. More...
 
class  JClientList
 List of ControlHost client managers. More...
 
class  JControlHost
 ControlHost class. More...
 
class  JControlHostObjectIterator
 Object iteration through ControlHost. More...
 
class  JControlHostObjectOutput
 Implemenation of object output through ControlHost. More...
 
class  JControlHostObjectOutput< JTypeList< JHead_t, JNullType > >
 Terminator class of recursive JControlHostObjectOutput class. More...
 
class  JControlHostObjectOutput< JTypeList< JHead_t, JTail_t > >
 Implementation of object output for multiple data types. More...
 
class  JControlHostServer
 Light-weight wrapper class around server socket. More...
 
class  JDispatch
 Data structure of a ControlHost message. More...
 
struct  JHostname
 Auxiliary data structure for hostname and port number. More...
 
class  JLigierObjectIterator
 Object iteration through ControlHost server. More...
 
class  JMemory_t
 
class  JPrefix
 ControlHost prefix. More...
 
class  JSelect
 Wrapper class for select call. More...
 
class  JSelectReader
 Wrapper class for select call. More...
 
class  JSelectWriter
 Wrapper class for select call. More...
 
class  JServerSocket
 TCP Server socket. More...
 
class  JSocket
 Socket class. More...
 
class  JSocketAddress
 The JSocketAddress class encapsulates the sockaddr_in data structure. More...
 
class  JSocketBlocking
 Blocking socket I/O. More...
 
class  JSocketBuffer
 Auxiliary class for non-blocking socket I/O. More...
 
class  JSocketChannel
 Auxiliary class for socket channel. More...
 
class  JSocketInputChannel
 Socket input channel. More...
 
class  JSocketNonblockingReader
 Non-blocking socket reader. More...
 
class  JSocketNonblockingWriter
 Non-blocking socket writer. More...
 
class  JSocketOutputChannel
 Socket output channel. More...
 
class  JSocketStatus
 Auxiliary class for non-blocking socket I/O. More...
 
class  JSubscription
 ControlHost subscription. More...
 
struct  JSubscriptionAll
 Auxiliary class for all subscription. More...
 
struct  JSubscriptionAny
 Auxiliary class for any subscription. More...
 
class  JSubscriptionList
 Subscription list. More...
 
class  JTag
 ControlHost tag. More...
 
class  JUDPSocket
 Server socket. More...
 

Typedefs

typedef JControlHost ControlHost
 Match name. More...
 
typedef JControlHostServer ControlServ
 Match name. More...
 
typedef JPrefix JPrefix_t
 
typedef JSocketInputChannel< JPrefix_tJSocketInputChannel_t
 
typedef JSocketBuffer< char > JSocketInputBuffer
 
typedef JSocketBuffer< const char > JSocketOutputBuffer
 
typedef long long int JTag_t
 Type definition of numerical ControlHost tag. More...
 

Enumerations

enum  JSubscription_t { SUBSCRIBE_ALL = 'a', SUBSCRIBE_ANY = 'w' }
 ControlHost subscription types. More...
 

Functions

template<>
int getSizeOfPacket (const KM3NETDAQ::JDAQAbstractPreamble &preamble)
 Get size of packeet. More...
 
JSubscriptionList operator+ (const JSubscription &first, const JSubscription &second)
 Add operator. More...
 
int getSizeOfPacket (const JPrefix_t &prefix)
 Get total size of internet packet. More...
 
void setSizeOfPacket (const int size, JPrefix_t &prefix)
 Set total size of internet packet. More...
 
std::ostream & operator<< (std::ostream &out, const JDispatch &message)
 Print message. More...
 
std::ostream & operator<< (std::ostream &out, const JSocket &socket)
 Print socket. More...
 
std::ostream & operator<< (std::ostream &out, const JSocketStatus &status)
 Print socket status. More...
 
std::ostream & operator<< (std::ostream &out, const JSocketInputBuffer &buffer)
 Print socket input buffer. More...
 
bool operator< (const JTag &first, const JTag &second)
 Less than operator for JTag. More...
 
bool operator== (const JTag &first, const JTag &second)
 Equal operator for JTag. More...
 
bool operator!= (const JTag &first, const JTag &second)
 Not equal operator for JTag. More...
 

Variables

static const std::string CHOO_VERSION = "1.0"
 
static const int DISPATCH_PORT = 5553
 Default ControlHost port. More...
 
static const size_t TAGSIZE = sizeof(JTag_t)
 
static const JTag DISPTAG_Subscribe ("_Subscri")
 Special ControlHost tags. More...
 
static const JTag DISPTAG_Gime ("_Gime")
 
static const JTag DISPTAG_Always ("_Always")
 
static const JTag DISPTAG_MyId ("_MyId")
 
static const JTag DISPTAG_Born ("Born")
 
static const JTag DISPTAG_Died ("Died")
 
static const JTag DISPTAG_ShowStat ("_ShowSta")
 
static const JTag DISPTAG_WhereIs ("_WhereIs")
 
static const JTag DISPTAG_Version ("_Version")
 
static const JTag DISPTAG_Debug ("_Debug")
 
static const JTag DISPTAG_UNDEFINED (0)
 

Detailed Description

Interprocess communication.

Author
mdejong
cpellegrino

Typedef Documentation

◆ ControlHost

Match name.

Definition at line 701 of file JControlHost.hh.

◆ ControlServ

Match name.

Definition at line 70 of file JControlHostServer.hh.

◆ JPrefix_t

Definition at line 29 of file JLigier.cc.

◆ JSocketInputChannel_t

Definition at line 30 of file JLigier.cc.

◆ JSocketInputBuffer

Definition at line 109 of file JSocketNonblocking.hh.

◆ JSocketOutputBuffer

Definition at line 110 of file JSocketNonblocking.hh.

◆ JTag_t

typedef long long int JNET::JTag_t

Type definition of numerical ControlHost tag.

Definition at line 28 of file JTag.hh.

Enumeration Type Documentation

◆ JSubscription_t

ControlHost subscription types.

Enumerator
SUBSCRIBE_ALL 
SUBSCRIBE_ANY 

Definition at line 39 of file JControlHost.hh.

39  {
40  SUBSCRIBE_ALL = 'a',
41  SUBSCRIBE_ANY = 'w'
42  //SUBSCRIBE_SHARED_MEMORY = 'm'
43  };

Function Documentation

◆ getSizeOfPacket() [1/2]

template<>
int JNET::getSizeOfPacket ( const KM3NETDAQ::JDAQAbstractPreamble preamble)
inline

Get size of packeet.

Parameters
preambleDAQ data preamble
Returns
size [B]

Definition at line 75 of file JDataFilter.cc.

76  {
77  return preamble.getLength();
78  }

◆ operator+()

JSubscriptionList JNET::operator+ ( const JSubscription first,
const JSubscription second 
)
inline

Add operator.

Parameters
firstsubscription
secondsubscription
Returns
subscription list

Definition at line 233 of file JControlHost.hh.

234  {
235  JSubscriptionList buffer;
236 
237  buffer.add(first);
238  buffer.add(second);
239 
240  return buffer;
241  }

◆ getSizeOfPacket() [2/2]

int JNET::getSizeOfPacket ( const JPrefix_t prefix)
inline

Get total size of internet packet.

Get size of data, including the header.

Parameters
prefixprefix
Returns
number of bytes

This method should be implemented for each template class for read operations.

Parameters
prefixprefix
Returns
number of bytes

Definition at line 39 of file JLigier.cc.

40  {
41  return prefix.getSize() + sizeof(JPrefix_t);
42  }

◆ setSizeOfPacket()

void JNET::setSizeOfPacket ( const int  size,
JPrefix_t prefix 
)
inline

Set total size of internet packet.

Set size of data, including the header.

Parameters
sizenumber of bytes
prefixprefix

This method should be implemented for each template class for write operations.

Parameters
prefixprefix
sizenumber of bytes

Definition at line 51 of file JLigier.cc.

52  {
53  prefix.setSize(size - sizeof(JPrefix_t));
54  }

◆ operator<<() [1/4]

std::ostream& JNET::operator<< ( std::ostream &  out,
const JDispatch message 
)
inline

Print message.

Parameters
outoutput stream
messagemessage
Returns
output stream

Definition at line 498 of file JLigier.cc.

499  {
500  return out << "(" << message.getTag() << "," << message.size() << ")";
501  }

◆ operator<<() [2/4]

std::ostream& JNET::operator<< ( std::ostream &  out,
const JSocket socket 
)
inline

Print socket.

Parameters
outoutput stream
socketsocket
Returns
output stream

Definition at line 511 of file JLigier.cc.

512  {
513  return out << "[" << socket.getFileDescriptor() << "]";
514  }

◆ operator<<() [3/4]

std::ostream& JNET::operator<< ( std::ostream &  out,
const JSocketStatus status 
)
inline

Print socket status.

Parameters
outoutput stream
statussocket status
Returns
output stream

Definition at line 524 of file JLigier.cc.

525  {
526  return out << "(" << status.isReady() << "," << status.getCounter() << ")";
527  }

◆ operator<<() [4/4]

std::ostream& JNET::operator<< ( std::ostream &  out,
const JSocketInputBuffer buffer 
)
inline

Print socket input buffer.

Parameters
outoutput stream
buffersocket buffer
Returns
output stream

Definition at line 537 of file JLigier.cc.

538  {
539  return out << "(" << buffer.isReady() << "," << buffer.getCounter() << "," << buffer.getSize() << ")";
540  }

◆ operator<()

bool JNET::operator< ( const JTag first,
const JTag second 
)
inline

Less than operator for JTag.

Parameters
firsttag
secondtag
Returns

Definition at line 260 of file JTag.hh.

261  {
262  return first.getID() < second.getID();
263  }

◆ operator==()

bool JNET::operator== ( const JTag first,
const JTag second 
)
inline

Equal operator for JTag.

Parameters
firsttag
secondtag
Returns

Definition at line 273 of file JTag.hh.

274  {
275  return first.getID() == second.getID();
276  }

◆ operator!=()

bool JNET::operator!= ( const JTag first,
const JTag second 
)
inline

Not equal operator for JTag.

Parameters
firsttag
secondtag
Returns

Definition at line 286 of file JTag.hh.

287  {
288  return first.getID() != second.getID();
289  }

Variable Documentation

◆ CHOO_VERSION

const std::string JNET::CHOO_VERSION = "1.0"
static

Definition at line 33 of file JControlHost.hh.

◆ DISPATCH_PORT

const int JNET::DISPATCH_PORT = 5553
static

Default ControlHost port.

Definition at line 24 of file JHostname.hh.

◆ TAGSIZE

const size_t JNET::TAGSIZE = sizeof(JTag_t)
static

Definition at line 29 of file JTag.hh.

◆ DISPTAG_Subscribe

const JTag JNET::DISPTAG_Subscribe("_Subscri")
static

Special ControlHost tags.

◆ DISPTAG_Gime

const JTag JNET::DISPTAG_Gime("_Gime")
static

◆ DISPTAG_Always

const JTag JNET::DISPTAG_Always("_Always")
static

◆ DISPTAG_MyId

const JTag JNET::DISPTAG_MyId("_MyId")
static

◆ DISPTAG_Born

const JTag JNET::DISPTAG_Born("Born")
static

◆ DISPTAG_Died

const JTag JNET::DISPTAG_Died("Died")
static

◆ DISPTAG_ShowStat

const JTag JNET::DISPTAG_ShowStat("_ShowSta")
static

◆ DISPTAG_WhereIs

const JTag JNET::DISPTAG_WhereIs("_WhereIs")
static

◆ DISPTAG_Version

const JTag JNET::DISPTAG_Version("_Version")
static

◆ DISPTAG_Debug

const JTag JNET::DISPTAG_Debug("_Debug")
static

◆ DISPTAG_UNDEFINED

const JTag JNET::DISPTAG_UNDEFINED(0)
static
JNET::JSubscriptionList
Subscription list.
Definition: JControlHost.hh:130
JNET::SUBSCRIBE_ALL
Definition: JControlHost.hh:40
KM3NETDAQ::JDAQAbstractPreamble::getLength
int getLength() const
Get length.
Definition: JDAQAbstractPreamble.hh:49
JNET::SUBSCRIBE_ANY
Definition: JControlHost.hh:41
JNET::JTag::getID
JTag_t getID() const
Get identifier.
Definition: JTag.hh:143
JNET::JSubscriptionList::add
JSubscriptionList & add(const JSubscription &subscription)
Add subscription.
Definition: JControlHost.hh:174
JNET::JPrefix_t
JPrefix JPrefix_t
Definition: JLigier.cc:29