Description:
This is a simple extension of a plain pipe which can detect when a packet passes through it. We need this to implement pulling packets out of the various SwiftTypedPacketReader drains.
| Data Fields | ||
| private | bool | waiting |
| private | CCSDSPacket* | packet |
| private | set<Drain*> | peers |
| private | SwiftTypedPacketReader* | reader |
| Constructors / Destructor | |
| public | Drain(SwiftTypedPacketReader* reader)Constructor for the Drain inner class. |
| public | ~Drain() |
| Methods | |||
| public | virtual | void | pushIn(CCSDSPacket* p)
|
| public | virtual | CCSDSPacket* | pullOut()
|
| public | virtual | void | connectToSink(PacketPipe& sink) |
| private | virtual | void | startWaiting()Mark this drain and all its peers as waiting. |
| private | virtual | bool | isWaiting()Check if this drain and all of its peers are waiting. |
| private | virtual | CCSDSPacket* | stopWaiting()
|
| Operators |