VSF Documented
Macros | Functions | Variables
vsf_stream_writer.h File Reference
#include "service/vsf_service_cfg.h"
#include "./pbuf/vsf_pbuf.h"
#include "./pbuf/vsf_pbuf_pool.h"
#include "./interface.h"
#include "../pool/vsf_pool.h"
#include "./pbuf_queue/vsf_pbuf_queue.h"
#include "./vsf_stream_base.h"
#include "utilities/ooc_class.h"

Go to the source code of this file.

Macros

#define __PLOOC_CLASS_USE_STRICT_TEMPLATE__
 

Functions

 declare_class (vsf_stream_writer_t)
 
 def_class (vsf_stream_writer_t, which(vsf_stream_src_t), private:vsf_pbuf_t *current_ptr;uint16_t hwOffset;uint16_t hwBufferSize;) end_def_class(vsf_stream_writer_t) def_interface(i_stream_writer_t) vsf_err_t(*Init)(vsf_stream_writer_t *obj_ptr
 
 end_def_interface (i_stream_writer_t) extern const i_stream_writer_t VSF_STREAM_WRITER
 
vsf_err_t vsf_stream_writer_init (vsf_stream_writer_t *obj_ptr, const vsf_stream_src_cfg_t *cfg_ptr)
 
vsf_err_t vsf_stream_writer_send_pbuf (vsf_stream_writer_t *obj_ptr, vsf_pbuf_t *ptOldBlock)
 
int_fast32_t vsf_stream_writer_write (vsf_stream_writer_t *obj_ptr, uint8_t *buffer_ptr, uint_fast16_t u16_size)
 
bool vsf_stream_writer_write_byte (vsf_stream_writer_t *obj_ptr, uint_fast8_t chByte)
 
fsm_rt_t vsf_stream_writer_flush (vsf_stream_writer_t *obj_ptr)
 

Variables

const vsf_stream_src_cfg_tcfg_ptr
 
vsf_stream_tx_t *(* GetTX )(vsf_stream_writer_t *obj_ptr)
 
struct { 
 
   vsf_pbuf_t *(*   New )(vsf_stream_writer_t *obj_ptr,
       int_fast32_t nNoLessThan,
       int_fast32_t nBestSize
 
   vsf_err_t(*   Send )(vsf_stream_writer_t *obj_ptr,
       vsf_pbuf_t *ptOldBlock) 
 
Block 
 
bool(* WriteByte )(vsf_stream_writer_t *obj_ptr, uint_fast8_t chByte)
 
int_fast32_t(* Write )(vsf_stream_writer_t *obj_ptr, uint8_t *buffer_ptr, uint_fast16_t u16_size)
 
fsm_rt_t(* Flush )(vsf_stream_writer_t *obj_ptr)
 

Macro Definition Documentation

◆ __PLOOC_CLASS_USE_STRICT_TEMPLATE__

#define __PLOOC_CLASS_USE_STRICT_TEMPLATE__

\NOTE: Make sure #include "utilities/ooc_class.h" is close to the class ! definition and there is NO ANY OTHER module-interface-header file ! included in this file

Function Documentation

◆ declare_class()

declare_class ( vsf_stream_writer_t  )

◆ def_class()

def_class ( vsf_stream_writer_t  ,
which( vsf_stream_src_t)  ,
private:vsf_pbuf_t *current_ptr;uint16_t hwOffset;uint16_t hwBufferSize;   
)

◆ end_def_interface()

end_def_interface ( i_stream_writer_t  ) const

◆ vsf_stream_writer_init()

vsf_err_t vsf_stream_writer_init ( vsf_stream_writer_t *  obj_ptr,
const vsf_stream_src_cfg_t cfg_ptr 
)
extern

◆ vsf_stream_writer_send_pbuf()

vsf_err_t vsf_stream_writer_send_pbuf ( vsf_stream_writer_t *  obj_ptr,
vsf_pbuf_t *  ptOldBlock 
)
extern

◆ vsf_stream_writer_write()

int_fast32_t vsf_stream_writer_write ( vsf_stream_writer_t *  obj_ptr,
uint8_t buffer_ptr,
uint_fast16_t  u16_size 
)
extern

current buffer is full

◆ vsf_stream_writer_write_byte()

bool vsf_stream_writer_write_byte ( vsf_stream_writer_t *  obj_ptr,
uint_fast8_t  chByte 
)
extern

◆ vsf_stream_writer_flush()

fsm_rt_t vsf_stream_writer_flush ( vsf_stream_writer_t *  obj_ptr)
extern

Variable Documentation

◆ cfg_ptr

const vsf_stream_src_cfg_t* cfg_ptr

◆ GetTX

vsf_stream_tx_t *(* GetTX) (vsf_stream_writer_t *obj_ptr) ( vsf_stream_writer_t *  obj_ptr)

◆ New

vsf_pbuf_t *(* New) (vsf_stream_writer_t *obj_ptr, int_fast32_t nNoLessThan, int_fast32_t nBestSize) ( vsf_stream_writer_t *  obj_ptr,
int_fast32_t  nNoLessThan,
int_fast32_t  nBestSize 
)

◆ Send

vsf_err_t(* Send) (vsf_stream_writer_t *obj_ptr, vsf_pbuf_t *ptOldBlock) ( vsf_stream_writer_t *  obj_ptr,
vsf_pbuf_t *  ptOldBlock 
)

◆ [struct]

struct { ... } Block

◆ WriteByte

bool(* WriteByte) (vsf_stream_writer_t *obj_ptr, uint_fast8_t chByte) ( vsf_stream_writer_t *  obj_ptr,
uint_fast8_t  chByte 
)

◆ Write

int_fast32_t(* Write) (vsf_stream_writer_t *obj_ptr, uint8_t *buffer_ptr, uint_fast16_t u16_size) ( vsf_stream_writer_t *  obj_ptr,
uint8_t buffer_ptr,
uint_fast16_t  u16_size 
)

◆ Flush

fsm_rt_t(* Flush) (vsf_stream_writer_t *obj_ptr) ( vsf_stream_writer_t *  obj_ptr)