ccommbufferbase.h Source File

API: ccommbufferbase.h Source File
API
ccommbufferbase.h
1//=========================================================================
2// CCOMMBUFFERBASE.H - part of
3//
4// OMNeT++/OMNEST
5// Discrete System Simulation in C++
6//
7//=========================================================================
8
9/*--------------------------------------------------------------*
10 Copyright (C) 1992-2017 Andras Varga
11 Copyright (C) 2006-2017 OpenSim Ltd.
12
13 This file is distributed WITHOUT ANY WARRANTY. See the file
14 `license' for details on this and other legal matters.
15*--------------------------------------------------------------*/
16
17#ifndef __OMNETPP_CCOMMBUFFERBASE_H
18#define __OMNETPP_CCOMMBUFFERBASE_H
19
20#include "omnetpp/ccommbuffer.h"
21
22namespace omnetpp {
23
28class SIM_API cCommBufferBase : public cCommBuffer
29{
30 protected:
31 char *mBuffer = nullptr; // the buffer
32 int mBufferSize = 0; // size of buffer allocated
33 int mMsgSize = 0; // current msg size (incremented by pack() functions)
34 int mPosition = 0; // current position in buffer for unpacking
35
36 protected:
37 void extendBufferFor(int dataSize);
38
39 public:
44
49
52
55 char *getBuffer() const;
56
60 int getBufferLength() const;
61
66 void allocateAtLeast(int size);
67
72 void setMessageSize(int size);
73
77 int getMessageSize() const;
78
82 void reset();
83
89 virtual bool isBufferEmpty() const override;
90
96 virtual void assertBufferEmpty() override;
97
101 virtual void swap(cCommBufferBase *other);
102
104};
105
106} // namespace omnetpp
107
108
109#endif
void allocateAtLeast(int size)
cCommBufferBase()
Definition ccommbufferbase.h:43
char * getBuffer() const
void setMessageSize(int size)
virtual void swap(cCommBufferBase *other)
virtual bool isBufferEmpty() const override
virtual void assertBufferEmpty() override
Buffer for the communications layer of parallel simulation.
Definition ccommbuffer.h:42