ROSE
0.11.96.11
|
Base class for all types of message destinations.
This is the base class for all nodes in the plumbing lattice.
#include <Message.h>
Public Member Functions | |
virtual void | bakeDestinations (const MesgProps &, BakedDestinations &baked) |
Bakes message properties according to the plumbing lattice. More... | |
virtual void | post (const Mesg &, const MesgProps &bakedProperties)=0 |
Causes a message to be emitted. More... | |
MesgProps | mergePropertiesNS (const MesgProps &props) |
Merge properties of this lattice node into the specified properties. More... | |
const MesgProps & | defaultPropertiesNS () const |
Default values for message properties. More... | |
MesgProps & | defaultPropertiesNS () |
Default values for message properties. More... | |
const MesgProps & | overridePropertiesNS () const |
Overrides message properties. More... | |
MesgProps & | overridePropertiesNS () |
Overrides message properties. More... | |
Public Member Functions inherited from Sawyer::SharedObject | |
SharedObject () | |
Default constructor. More... | |
SharedObject (const SharedObject &) | |
Copy constructor. More... | |
virtual | ~SharedObject () |
Virtual destructor. More... | |
SharedObject & | operator= (const SharedObject &) |
Assignment. More... | |
Public Member Functions inherited from Sawyer::SharedFromThis< Destination > | |
SharedPointer< Destination > | sharedFromThis () |
Create a shared pointer from this . More... | |
SharedPointer< const Destination > | sharedFromThis () const |
Create a shared pointer from this . More... | |
Protected Attributes | |
Sawyer::SynchronizationTraits< Sawyer::SingleThreadedTag >::RecursiveMutex | mutex_ |
Mutex protecting data members here and in subclasses. | |
MesgProps | dflts_ |
Default properties merged into each incoming message. | |
MesgProps | overrides_ |
Override properties applied to incoming message. | |
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Bakes message properties according to the plumbing lattice.
The given message properties are applied to the plumbing lattice rooted at this Destination, adjusted according to the default and override properties at this node of the lattice and all lower nodes. The property values at the bottom nodes of the lattice are appended to the baked
argument.
Thread safety: All implementations must be thread-safe.
Reimplemented in Sawyer::Message::Filter, and Sawyer::Message::Multiplexer.
|
pure virtual |
Causes a message to be emitted.
The bakedProperties
argument is one of the values returned by the bakeDestinations method.
Implemented in Sawyer::Message::SyslogSink, Sawyer::Message::StreamSink, Sawyer::Message::FileSink, Sawyer::Message::FdSink, and Sawyer::Message::Multiplexer.
Merge properties of this lattice node into the specified properties.
Any property in props
that is not set will be set to this node's default value for the property (if any). Any override property defined for this node will override the value (or lack of value) in props
. The merged result is returned.
Thread safety: Not thread safe.