27#define __DeclareMsgId \
29 static Messaging::Id Id; \
30 virtual const Messaging::Id& GetId() const;\
33#define __ImplementMsgId(type) \
34 Messaging::Id type::Id; \
35 const Messaging::Id& type::GetId() const { return type::Id; }
86 return (
id == this->GetId());
The common base class of Nebula.
Definition refcounted.h:38
A message identifier.
Definition id.h:19
Messages are packets of data which can be sent to a message port.
Definition message.h:45
virtual void Encode(const Ptr< IO::BinaryWriter > &writer)
encode message into a stream
Definition message.cc:30
void SetDistribute(bool b)
enable distribution over network
Definition message.h:156
bool deferred
Definition message.h:75
void SetDeferred(bool b)
set deferred flag
Definition message.h:111
bool deferredHandled
Definition message.h:76
void SetHandled(bool b)
set the handled flag
Definition message.h:93
bool DeferredHandled() const
get the deferred handled flag
Definition message.h:138
bool CheckId(const Messaging::Id &id) const
return true if message is of the given id
Definition message.h:84
virtual void Decode(const Ptr< IO::BinaryReader > &reader)
decode message from a stream
Definition message.cc:39
volatile int handled
Definition message.h:74
bool GetDistribute() const
should this message be distributed over the network
Definition message.h:147
Message()
constructor
Definition message.cc:17
__DeclareMsgId
Definition message.h:47
bool distribute
Definition message.h:77
bool Handled() const
return true if the message has been handled
Definition message.h:102
void SetDeferredHandled(bool b)
set the deferred handled flag
Definition message.h:129
bool IsDeferred() const
get deferred flag
Definition message.h:120
Nebula's smart pointer class which manages the life time of RefCounted objects.
Definition ptr.h:38
Definition asyncport.cc:10
int Exchange(int volatile *dest, int value)
interlocked exchange
Definition gccinterlocked.cc:94