|
Gcs_message_stage::stage_status | skip_apply (uint64_t const &original_payload_size) const override |
| Check if the apply operation which affects outgoing packets should be executed (i.e. More...
|
|
std::unique_ptr< Gcs_stage_metadata > | get_stage_header () override |
|
| Gcs_message_stage_lz4 () |
| Creates an instance of the stage with the default threshold in bytes set. More...
|
|
| Gcs_message_stage_lz4 (bool enabled, unsigned long long compress_threshold) |
| Creates an instance of the stage with the given threshold in bytes. More...
|
|
| ~Gcs_message_stage_lz4 () override=default |
|
Stage_code | get_stage_code () const override |
| Return the unique stage code. More...
|
|
void | set_threshold (unsigned long long threshold) |
| Sets the threshold in bytes after which compression kicks in. More...
|
|
| Gcs_message_stage () |
|
| Gcs_message_stage (bool enabled) |
|
virtual | ~Gcs_message_stage ()=default |
|
std::pair< bool, std::vector< Gcs_packet > > | apply (Gcs_packet &&packet) |
| Apply some transformation to the outgoing packet, and return a set of one, or more, transformed packets. More...
|
|
std::pair< Gcs_pipeline_incoming_result, Gcs_packet > | revert (Gcs_packet &&packet) |
| Revert some transformation from the incoming packet, and return one, or none, transformed packet. More...
|
|
bool | is_enabled () const |
| Return whether the message stage is enabled or not. More...
|
|
virtual bool | update_members_information (const Gcs_member_identifier &, const Gcs_xcom_nodes &) |
| Update the list of members in the group as this may be required by some stages in the communication pipeline. More...
|
|
virtual Gcs_xcom_synode_set | get_snapshot () const |
|
void | set_enabled (bool is_enabled) |
| Enable or disable the message stage. More...
|
|
|
std::pair< bool, std::vector< Gcs_packet > > | apply_transformation (Gcs_packet &&packet) override |
| Implements the logic of this stage's transformation to the packet, and returns a set of one, or more, transformed packets. More...
|
|
std::pair< Gcs_pipeline_incoming_result, Gcs_packet > | revert_transformation (Gcs_packet &&packet) override |
| Implements the logic to revert this stage's transformation to the packet, and returns one, or none, transformed packet. More...
|
|
Gcs_message_stage::stage_status | skip_revert (const Gcs_packet &packet) const override |
| Check if the revert operation which affects incoming packets should be executed (i.e. More...
|
|
void | encode (unsigned char *header, unsigned short header_length, unsigned long long old_payload_length) |
| Encode the fixed part of the associated dynamic header information into the header buffer. More...
|
|
void | decode (const unsigned char *header, unsigned short *header_length, unsigned long long *old_payload_length) |
| Decode the fixed part of the associated dynamic header information from the header buffer. More...
|
|
This class implements LZ4 compression.
It is a stateless service class, thence it is thread safe.
Check if the apply operation which affects outgoing packets should be executed (i.e.
applied), skipped or aborted.
If the outcome is code apply or code skip, the stage will process or skip the message, respectively. However, if the outcome is code abort, the message will be discarded and an error will be reported thus stopping the pipeline execution.
For example, if a packet's length is less than a pre-defined threshold the packet is not compressed.
- Parameters
-
original_payload_size | The size of the packet to which the transformation should be applied. |
- Returns
- a status specifying whether the transformation should be executed, skipped or aborted
Implements Gcs_message_stage.
Check if the revert operation which affects incoming packets should be executed (i.e.
applied), skipped or aborted.
If the outcome is code apply or code skip, the stage will process or skip the message, respectively. However, if the outcome is code abort, the message will be discarded and an error will be reported thus stopping the pipeline execution.
For example, if the packet length is greater than the maximum allowed compressed information an error is returned.
- Parameters
-
packet | The packet upon which the transformation should be applied |
- Returns
- a status specifying whether the transformation should be executed, skipped or aborted
Implements Gcs_message_stage.