MADARA  3.4.1
madara::filters::BufferFilterHeader Class Reference

Defines a buffer filter header. More...

#include <BufferFilterHeader.h>

Public Member Functions

 BufferFilterHeader ()
 Constructor. More...
 
bool check_filter (filters::BufferFilter *filter)
 Checks compatability between the header and the filter. More...
 
const char * read (const char *buffer, int64_t &buffer_remaining)
 Reads a BufferFiltefrHeader instance from a buffer and updates the amount of buffer room remaining. More...
 
void read (filters::BufferFilter *filter)
 Reads relevant fields from a filter. More...
 
char * write (char *buffer, int64_t &buffer_remaining)
 Writes a BufferFilterHeader instance to a buffer and updates the amount of buffer room remaining. More...
 

Static Public Member Functions

static uint64_t encoded_size (void)
 Returns the size of the encoded BufferFilterHeader class. More...
 

Public Attributes

char id [8] = {'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'}
 filter id More...
 
uint64_t size = 0
 the size of this header plus the updates More...
 
uint32_t version = 0
 filter version More...
 

Detailed Description

Defines a buffer filter header.

   Format:

  [00] [8 byte unsigned size] <br />
  [08] [8 byte id string] <br />
  [16] [4 byte version] <br />

Definition at line 32 of file BufferFilterHeader.h.

Constructor & Destructor Documentation

◆ BufferFilterHeader()

madara::filters::BufferFilterHeader::BufferFilterHeader ( )
inline

Constructor.

Definition at line 38 of file BufferFilterHeader.h.

Member Function Documentation

◆ check_filter()

bool madara::filters::BufferFilterHeader::check_filter ( filters::BufferFilter filter)
inline

Checks compatability between the header and the filter.

Parameters
filterthe filter to check
Returns
true if the filter matches the header

Definition at line 23 of file BufferFilterHeader.inl.

◆ encoded_size()

static uint64_t madara::filters::BufferFilterHeader::encoded_size ( void  )
inlinestatic

Returns the size of the encoded BufferFilterHeader class.

Definition at line 43 of file BufferFilterHeader.h.

◆ read() [1/2]

const char * madara::filters::BufferFilterHeader::read ( const char *  buffer,
int64_t &  buffer_remaining 
)
inline

Reads a BufferFiltefrHeader instance from a buffer and updates the amount of buffer room remaining.

Parameters
bufferthe readable buffer where data is stored
buffer_remainingthe count of bytes remaining in the buffer to read
Returns
current buffer position for next read
Exceptions
exceptions::MemoryExceptionnot enough buffer to encode

Definition at line 59 of file BufferFilterHeader.inl.

◆ read() [2/2]

void madara::filters::BufferFilterHeader::read ( filters::BufferFilter filter)
inline

Reads relevant fields from a filter.

Parameters
filterthe filter to refer to

Definition at line 40 of file BufferFilterHeader.inl.

◆ write()

char * madara::filters::BufferFilterHeader::write ( char *  buffer,
int64_t &  buffer_remaining 
)
inline

Writes a BufferFilterHeader instance to a buffer and updates the amount of buffer room remaining.

Parameters
bufferthe readable buffer where data is stored
buffer_remainingthe count of bytes remaining in the buffer to read
Returns
current buffer position for next write
Exceptions
exceptions::MemoryExceptionnot enough buffer to encode

Definition at line 87 of file BufferFilterHeader.inl.

Member Data Documentation

◆ id

char madara::filters::BufferFilterHeader::id[8] = {'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'}

filter id

Definition at line 91 of file BufferFilterHeader.h.

◆ size

uint64_t madara::filters::BufferFilterHeader::size = 0

the size of this header plus the updates

Definition at line 86 of file BufferFilterHeader.h.

◆ version

uint32_t madara::filters::BufferFilterHeader::version = 0

filter version

Definition at line 96 of file BufferFilterHeader.h.


The documentation for this class was generated from the following files: