The downstream interface of a transformation module. More...
#include <transform-base.hpp>
Public Member Functions | |
virtual | ~Downstream ()=default |
size_t | write (const uint8_t *buf, size_t size) |
Accept input data and perform transformation. More... | |
void | end () |
Close the input interface of a module. More... | |
bool | isEnd () const |
Check if the input interface of a module is closed. More... | |
void | setIndex (size_t index) |
Set the module index. More... | |
size_t | getIndex () const |
Get the module index. More... | |
Protected Member Functions | |
Downstream () | |
The downstream interface of a transformation module.
A module can accept input through this interface
Definition at line 67 of file transform-base.hpp.
|
virtualdefault |
|
protected |
Definition at line 34 of file transform-base.cpp.
size_t ndn::security::transform::Downstream::write | ( | const uint8_t * | buf, |
size_t | size | ||
) |
Accept input data and perform transformation.
An upstream module should call this method to write data into this module. The written data will be transformed and the result will be written into the next downstream module.
An upstream module can keep calling this method to until end() is called, which indicates the end of input. After that, calling this method will cause Error.
If a Downstream implementation expects structured input (e.g., hex decoding requires byte-pair), it should not return less than size if final portion of input is not a complete record.
Error | if this module is closed or transformation error happens. |
Definition at line 41 of file transform-base.cpp.
References getIndex().
void ndn::security::transform::Downstream::end | ( | ) |
Close the input interface of a module.
This method will notify this module that there is no more input and that the module should finalize transformation.
Although end() can be invoked multiple times, only the first invocation takes effect.
Definition at line 52 of file transform-base.cpp.
|
inline |
Check if the input interface of a module is closed.
Definition at line 107 of file transform-base.hpp.
|
inline |
Set the module index.
Definition at line 116 of file transform-base.hpp.
|
inline |
Get the module index.
Definition at line 125 of file transform-base.hpp.
Referenced by ndn::security::transform::Base64Decode::Base64Decode(), ndn::security::transform::Base64Encode::Base64Encode(), ndn::security::transform::BlockCipher::BlockCipher(), ndn::security::transform::DigestFilter::DigestFilter(), ndn::security::transform::HexDecode::HexDecode(), ndn::security::transform::HmacFilter::HmacFilter(), ndn::security::transform::SignerFilter::SignerFilter(), ndn::security::transform::StreamSink::StreamSink(), ndn::security::transform::VerifierFilter::VerifierFilter(), and write().