theKernel 10.0
Loading...
Searching...
No Matches
MkBufferStreamC_CC_API

MkBufferStreamC - the abstract class known as bus or stream is a subclass of MkBufferC and is used for package-based-ioMore...

+ Collaboration diagram for MkBufferStreamC_CC_API:

Topics

 MkBufferStreamC_TOR_CC_API
 MkBufferStreamC - various functions to create and destroy a MkBufferStreamC
 
 MkBufferStreamC_Write_CC_API
 MkBufferStreamC - various functions to write into a MkBufferStreamS
 
 MkBufferStreamC_Read_CC_API
 MkBufferStreamC - various functions to 'read' data from a MkBufferStreamS
 
 MkBufferStreamC_Misc_CC_API
 MkBufferStreamC - various functions to create and destroy a MkBufferStreamS
 
 MkBufferStreamC_Introspection_CC_API
 
 MkBufferStreamC_Class_CC_API
 MkBufferStreamC - define the class …
 

Classes

struct  ccmkkernel::MkBufferStreamC_A
 The ABSTRACT-CLASS MkBufferStreamS is used for package-based serialized IO … → C-API: libmkkernel::MkBufferStreamS More...
 
class  ccmkkernel::MkBufferStreamC
 The ABSTRACT-CLASS MkBufferStreamS is used for package-based serialized IO … → C-API: libmkkernel::MkBufferStreamS More...
 

Functions

 ccmkkernel::MkBufferStreamC::MkBufferStreamC (MK_BUS hdl)
 
static MkBufferStreamCccmkkernel::MkBufferStreamC::MkBufferStreamC_ObjNew (MK_RT_ARGS MK_BUS hdl)
 return MkBufferStreamC from LibMsgqueObject
 
MK_BUS ccmkkernel::MkBufferStreamC::getBUS () const
 return the LibMsgqueObject from current MkBufferStreamC instance
 
MK_BUS ccmkkernel::MkBufferStreamC::getBUS__null_allow () const
 return the LibMsgqueObject from current MkBufferStreamC instance
 
MK_BUSN ccmkkernel::MkBufferStreamC::getBUSN () const
 (const) return the LibMsgqueObject from current MkBufferStreamC instance
 
MK_BUSN ccmkkernel::MkBufferStreamC::getBUSN__null_allow () const
 (const) return the LibMsgqueObject from current MkBufferStreamC instance
 
static MK_BUS ccmkkernel::MkBufferStreamC::getBUS (MkBufferStreamC *clsHdl)
 return LibMsgqueObject from current MkBufferStreamC pointer
 
static MK_BUS ccmkkernel::MkBufferStreamC::getBUS__null_allow (MkBufferStreamC *clsHdl)
 return LibMsgqueObject from current MkBufferStreamC pointer
 
static MK_BUSN ccmkkernel::MkBufferStreamC::getBUSN (const MkBufferStreamC *clsHdl)
 (const) return LibMsgqueObject from current MkBufferStreamC pointer
 
static MK_BUSN ccmkkernel::MkBufferStreamC::getBUSN__null_allow (const MkBufferStreamC *clsHdl)
 (const) return LibMsgqueObject from current MkBufferStreamC pointer
 
static MK_BUS ccmkkernel::MkBufferStreamC::getBUS (const MkBufferStreamC &clsHdl)
 return LibMsgqueObject from current MkBufferStreamC reference
 
static MK_BUS ccmkkernel::MkBufferStreamC::getBUS__null_allow (const MkBufferStreamC &clsHdl)
 return LibMsgqueObject from current MkBufferStreamC reference
 
static MK_BUSN ccmkkernel::MkBufferStreamC::getBUSN (const MkBufferStreamC &clsHdl)
 (const) return LibMsgqueObject from current MkBufferStreamC reference
 
static MK_BUSN ccmkkernel::MkBufferStreamC::getBUSN__null_allow (const MkBufferStreamC &clsHdl)
 (const) return LibMsgqueObject from current MkBufferStreamC reference
 
bool ccmkkernel::MkBufferStreamC::Check () const
 check if pointer is still valid
 
 ccmkkernel::MkBufferStreamC::MkBufferStreamC (const MkBufferStreamC *hdl)
 
 ccmkkernel::MkBufferStreamC::MkBufferStreamC (const MkBufferStreamC &ref)
 
MkBufferStreamCccmkkernel::MkBufferStreamC::operator= (const MkBufferStreamC &buf)
 
MkBufferStreamCccmkkernel::MkBufferStreamC::operator= (const MkBufferStreamC *buf)
 

Variables

static thread_local MkBufferStreamC ccmkkernel::MkBufferStreamC::MK_NULL_REF = {(MK_OBJ)0}
 

Detailed Description

MkBufferStreamC - the abstract class known as bus or stream is a subclass of MkBufferC and is used for package-based-io

The MkBufferStreamC is required to send data via a socket (pipe,tcp,uds,...). The data is organized as a continuous binary-array. Each item is preceded by type and, if applicable, size information.

‍See also: MkBufferC, MkBufferListC

C-Kernel-Details

The ABSTRACT-CLASS MkBufferStreamS has the private-parent-class MkBufferS and is used to store typed-data in a continuous binary-array at MkBufferS::storage.

private-parent-class mean:
MkBufferStreamS use the features of MkBufferS but does not expose the API

In addition to the binary-array the MkBufferStreamS also include features like:

  1. the encoding: MkBufferStreamS::endian_is_wrong
  2. the total number of items: MkBufferStreamS::numItems
  3. current position pointer: MkBufferStreamS::cur
  4. support for recursion: embedding a MkBufferStreamS into a libmkkernel::MkBufferStreamS

The MkBufferStreamS inherits the following features from MkBufferS:

  1. the storage: MkBufferS::storage
  2. the type: MkBufferS::type
  3. the ILS: MkBufferS::ils

The ABSTRACT-CLASS MkBufferStreamS is missing the ILS-storage, the FINAL-CLASSES are:

MkBufferStream16384S, MkBufferStream256S, MkBufferStream64S and MkBufferStream1024S

See also
MkBufferC, MkBufferListC

Function Documentation

◆ Check()

bool ccmkkernel::MkBufferStreamC::Check ( ) const
inline

check if pointer is still valid

Definition at line 157 of file MkBufferStreamC_cc.hh.

157 {
158 return (hdl && MkBusCheck(hdl));
159 };
static bool MkBusCheck(MK_MNGN mng)
check MkBufferStreamS -> libmkkernel::MkObjectS::signature …

◆ getBUS() [1/3]

MK_BUS ccmkkernel::MkBufferStreamC::getBUS ( ) const
inline

return the LibMsgqueObject from current MkBufferStreamC instance

Definition at line 89 of file MkBufferStreamC_cc.hh.

89 {
90 MK_BUS ret = reinterpret_cast<MK_BUS>(hdl);
91 if (unlikely(ret == NULL)) InstHdlIsNullError();
92 return ret;
93 };
#define InstHdlIsNullError()
struct MkBufferStreamS * MK_BUS
class-shortcut for struct MkBufferStreamS *, all shortcut using the XX_YYY syntax (only for public AP...
#define unlikely(x)

◆ getBUS() [2/3]

static MK_BUS ccmkkernel::MkBufferStreamC::getBUS ( const MkBufferStreamC & clsHdl)
inlinestatic

return LibMsgqueObject from current MkBufferStreamC reference

Definition at line 137 of file MkBufferStreamC_cc.hh.

137 {
138 return clsHdl.getBUS();
139 };

◆ getBUS() [3/3]

static MK_BUS ccmkkernel::MkBufferStreamC::getBUS ( MkBufferStreamC * clsHdl)
inlinestatic

return LibMsgqueObject from current MkBufferStreamC pointer

Definition at line 113 of file MkBufferStreamC_cc.hh.

113 {
114 MK_BUS ret = clsHdl ? reinterpret_cast<MK_BUS>(clsHdl->hdl) : NULL;
115 if (unlikely(ret == NULL)) ClassHdlIsNullError(MkBufferStreamC);
116 return ret;
117 };
#define ClassHdlIsNullError(cls)

◆ getBUS__null_allow() [1/3]

MK_BUS ccmkkernel::MkBufferStreamC::getBUS__null_allow ( ) const
inline

return the LibMsgqueObject from current MkBufferStreamC instance

Definition at line 96 of file MkBufferStreamC_cc.hh.

96 {
97 return reinterpret_cast<MK_BUS>(hdl);
98 };
+ Here is the caller graph for this function:

◆ getBUS__null_allow() [2/3]

static MK_BUS ccmkkernel::MkBufferStreamC::getBUS__null_allow ( const MkBufferStreamC & clsHdl)
inlinestatic

return LibMsgqueObject from current MkBufferStreamC reference

Definition at line 142 of file MkBufferStreamC_cc.hh.

142 {
143 return clsHdl.getBUS__null_allow();
144 };

◆ getBUS__null_allow() [3/3]

static MK_BUS ccmkkernel::MkBufferStreamC::getBUS__null_allow ( MkBufferStreamC * clsHdl)
inlinestatic

return LibMsgqueObject from current MkBufferStreamC pointer

Definition at line 120 of file MkBufferStreamC_cc.hh.

120 {
121 return clsHdl ? reinterpret_cast<MK_BUS>(clsHdl->hdl) : NULL;
122 };

◆ getBUSN() [1/3]

MK_BUSN ccmkkernel::MkBufferStreamC::getBUSN ( ) const
inline

(const) return the LibMsgqueObject from current MkBufferStreamC instance

Definition at line 101 of file MkBufferStreamC_cc.hh.

101 {
102 MK_BUSN ret = reinterpret_cast<MK_BUSN>(hdl);
103 if (unlikely(ret == NULL)) InstHdlIsNullError();
104 return ret;
105 };
const struct MkBufferStreamS * MK_BUSN
class-shortcut for const struct MkBufferStreamS *, all const shortcut using the XX_YYYC syntax (only ...
+ Here is the caller graph for this function:

◆ getBUSN() [2/3]

static MK_BUSN ccmkkernel::MkBufferStreamC::getBUSN ( const MkBufferStreamC & clsHdl)
inlinestatic

(const) return LibMsgqueObject from current MkBufferStreamC reference

Definition at line 147 of file MkBufferStreamC_cc.hh.

147 {
148 return clsHdl.getBUSN();
149 };

◆ getBUSN() [3/3]

static MK_BUSN ccmkkernel::MkBufferStreamC::getBUSN ( const MkBufferStreamC * clsHdl)
inlinestatic

(const) return LibMsgqueObject from current MkBufferStreamC pointer

Definition at line 125 of file MkBufferStreamC_cc.hh.

125 {
126 MK_BUSN ret = clsHdl ? reinterpret_cast<MK_BUSN>(clsHdl->hdl) : NULL;
127 if (unlikely(ret == NULL)) ClassHdlIsNullError(MkBufferStreamC);
128 return ret;
129 };

◆ getBUSN__null_allow() [1/3]

MK_BUSN ccmkkernel::MkBufferStreamC::getBUSN__null_allow ( ) const
inline

(const) return the LibMsgqueObject from current MkBufferStreamC instance

Definition at line 108 of file MkBufferStreamC_cc.hh.

108 {
109 return reinterpret_cast<MK_BUSN>(hdl);
110 };
+ Here is the caller graph for this function:

◆ getBUSN__null_allow() [2/3]

static MK_BUSN ccmkkernel::MkBufferStreamC::getBUSN__null_allow ( const MkBufferStreamC & clsHdl)
inlinestatic

(const) return LibMsgqueObject from current MkBufferStreamC reference

Definition at line 152 of file MkBufferStreamC_cc.hh.

152 {
153 return clsHdl.getBUSN__null_allow();
154 };

◆ getBUSN__null_allow() [3/3]

static MK_BUSN ccmkkernel::MkBufferStreamC::getBUSN__null_allow ( const MkBufferStreamC * clsHdl)
inlinestatic

(const) return LibMsgqueObject from current MkBufferStreamC pointer

Definition at line 132 of file MkBufferStreamC_cc.hh.

132 {
133 return clsHdl ? reinterpret_cast<MK_BUSN>(clsHdl->hdl) : NULL;
134 };

◆ MkBufferStreamC() [1/3]

ccmkkernel::MkBufferStreamC::MkBufferStreamC ( const MkBufferStreamC & ref)
inline

Definition at line 34 of file MkBufferStreamC_inline_cc.hh.

34 {
35 MkRtSetup_O(copy.hdl);
37 }
void atomInit(MK_OBJ obj)
#define MkObjDup(...)
#define MkRtSetup_O(o)

◆ MkBufferStreamC() [2/3]

ccmkkernel::MkBufferStreamC::MkBufferStreamC ( const MkBufferStreamC * hdl)
inline

Definition at line 28 of file MkBufferStreamC_inline_cc.hh.

28 {
29 if (copy == NULL) throw MkReferenceNullExceptionC("MkBufferStreamC");
30 MkRtSetup_O(copy->hdl);
31 MkObjectC::atomInit(MkObjDup(copy->hdl));
32 }

◆ MkBufferStreamC() [3/3]

ccmkkernel::MkBufferStreamC::MkBufferStreamC ( MK_BUS hdl)
inline

Definition at line 80 of file MkBufferStreamC_cc.hh.

◆ MkBufferStreamC_ObjNew()

static MkBufferStreamC * ccmkkernel::MkBufferStreamC::MkBufferStreamC_ObjNew ( MK_RT_ARGS MK_BUS hdl)
inlinestatic

return MkBufferStreamC from LibMsgqueObject

Definition at line 84 of file MkBufferStreamC_cc.hh.

84 {
85 return (hdl ? static_cast<MkBufferStreamC*>(MkObjectC::atomObjNew(MK_RT_CALL MkBufferStreamC_X2obj(hdl))) : &MK_NULL_REF);
86 }
static thread_local MkBufferStreamC MK_NULL_REF
static MK_PTR atomObjNew(MK_RT_ARGS MK_OBJ obj)
#define MK_RT_CALL
+ Here is the caller graph for this function:

◆ operator=() [1/2]

MkBufferStreamC & ccmkkernel::MkBufferStreamC::operator= ( const MkBufferStreamC & buf)
inline

Definition at line 39 of file MkBufferStreamC_inline_cc.hh.

39 {
40 MkRtSetup_O(copy.hdl);
41 MkObjCopy(hdl,copy.hdl);
42 return *this;
43 }
#define MkObjCopy(...)

◆ operator=() [2/2]

MkBufferStreamC & ccmkkernel::MkBufferStreamC::operator= ( const MkBufferStreamC * buf)
inline

Definition at line 45 of file MkBufferStreamC_inline_cc.hh.

45 {
46 MkRtSetup_O(copy->hdl);
47 MkObjCopy(hdl,copy->hdl);
48 return *this;
49 }

Variable Documentation

◆ MK_NULL_REF

thread_local MkBufferStreamC ccmkkernel::MkBufferStreamC::MK_NULL_REF = {(MK_OBJ)0}
static

Definition at line 41 of file MkBufferStreamC_cc.hh.