Botan 3.9.0
Crypto and TLS for C&
|
#include <filters.h>
Public Member Functions | |
virtual bool | attachable () |
virtual void | end_msg () |
Fork (Filter *f1, Filter *f2, Filter *f3=nullptr, Filter *f4=nullptr) | |
Fork (Filter *filter_arr[], size_t length) | |
std::string | name () const override |
void | set_port (size_t n) |
virtual void | start_msg () |
void | write (const uint8_t input[], size_t length) override |
Protected Member Functions | |
void | attach (Filter *f) |
void | incr_owns () |
virtual void | send (const uint8_t in[], size_t length) |
void | send (std::span< const uint8_t > in) |
void | send (std::span< const uint8_t > in, size_t length) |
void | send (uint8_t in) |
void | set_next (Filter *f[], size_t n) |
This class represents a fork filter, whose purpose is to fork the flow of data. It causes an input message to result in n messages at the end of the filter, where n is the number of forks.
Construct a Fork filter with up to four forks.
Definition at line 48 of file basefilt.cpp.
References Botan::Fanout_Filter::set_next().
Botan::Fork::Fork | ( | Filter * | filter_arr[], |
size_t | length ) |
Construct a Fork from range of filters
filter_arr | the list of filters |
length | how many filters |
Definition at line 56 of file basefilt.cpp.
References Botan::Fanout_Filter::set_next().
|
inlineprotectedinherited |
Definition at line 158 of file filter.h.
References Botan::Filter::Filter().
Referenced by Botan::Chain::Chain(), and Botan::Chain::Chain().
|
inlinevirtualinherited |
Check whether this filter is an attachable filter.
Reimplemented in Botan::DataSink, and Botan::SecureQueue.
Definition at line 54 of file filter.h.
|
inlinevirtualinherited |
Notify that the current message is finished; flush buffers and do end-of-message processing (if any).
Reimplemented in Botan::Base64_Decoder, Botan::Base64_Encoder, Botan::DataSink_Stream, Botan::Hex_Decoder, and Botan::Hex_Encoder.
Definition at line 47 of file filter.h.
|
inlineprotectedinherited |
Increment the number of filters past us that we own
Definition at line 152 of file filter.h.
Referenced by Botan::Chain::Chain(), and Botan::Chain::Chain().
|
inlineoverridevirtual |
Implements Botan::Filter.
Definition at line 668 of file filters.h.
|
protectedvirtualinherited |
in | some input for the filter |
length | the length of in |
Definition at line 30 of file filter.cpp.
Referenced by Botan::Base64_Decoder::end_msg(), Botan::Base64_Encoder::end_msg(), Botan::Hex_Decoder::end_msg(), Botan::Hex_Encoder::end_msg(), operator=(), send(), Botan::Base64_Decoder::write(), Botan::Chain::write(), Botan::Fork::write(), and Botan::Hex_Decoder::write().
|
inlineprotectedinherited |
|
protectedinherited |
in | some input for the filter |
length | the number of bytes of in to send |
This previously took a std::vector, for which the length field (allowing using just a prefix of the vector) somewhat made sense. It makes less sense now that we are using a span here; you can just use first to get a prefix.
Definition at line 22 of file filter.cpp.
References BOTAN_ASSERT_NOMSG, and send().
|
inlineprotectedinherited |
|
inlineprotectedinherited |
Definition at line 156 of file filter.h.
References Botan::Filter::Filter().
Referenced by Botan::Fork::Fork(), Botan::Fork::Fork(), Botan::SecureQueue::SecureQueue(), and Botan::SecureQueue::SecureQueue().
|
inline |
Definition at line 666 of file filters.h.
References Botan::Fanout_Filter::set_port().
|
inlinevirtualinherited |
|
inlineoverridevirtual |
Write a portion of a message to this filter.
input | the input as a byte array |
length | the length of the byte array input |
Implements Botan::Filter.
Definition at line 664 of file filters.h.
References Botan::Filter::send().