more code
This commit is contained in:
parent
75f1d15be1
commit
bdfba4cad1
|
@ -27,7 +27,7 @@ typedef struct SBufferWriter SBufferWriter;
|
|||
typedef struct SBufferReader SBufferReader;
|
||||
|
||||
// SBuffer
|
||||
#define BUFFER_INITILIZER ((SBuffer){0, 0, NULL})
|
||||
#define BUFFER_INITIALIZER ((SBuffer){0, 0, NULL})
|
||||
static int32_t tBufferInit(SBuffer *buffer);
|
||||
static int32_t tBufferDestroy(SBuffer *buffer);
|
||||
static int32_t tBufferClear(SBuffer *buffer);
|
||||
|
@ -38,9 +38,10 @@ static int32_t tBufferAppend(SBuffer *buffer, const void *data, uint32_t size);
|
|||
#define tBufferGetData(buffer) ((const void *)(buffer)->data)
|
||||
|
||||
// SBufferWriter
|
||||
#define tBufferWriterInit(forward, offset, buffer) ((SBufferWriter){forward, offset, buffer})
|
||||
#define tBufferWriterDestroy(writer) ((void)0)
|
||||
#define tBufferWriterGetOffset(writer) ((writer)->offset)
|
||||
#define BUFFER_WRITER_INITIALIZER(forward, offset, buffer) ((SBufferWriter){forward, offset, buffer})
|
||||
#define tBufferWriterDestroy(writer) ((void)0)
|
||||
#define tBufferWriterGetOffset(writer) ((writer)->offset)
|
||||
static int32_t tBufferWriterInit(SBufferWriter *writer, bool forward, uint32_t offset, SBuffer *buffer);
|
||||
static int32_t tBufferPutFixed(SBufferWriter *writer, const void *data, uint32_t size);
|
||||
static int32_t tBufferPutI8(SBufferWriter *writer, int8_t value);
|
||||
static int32_t tBufferPutI16(SBufferWriter *writer, int16_t value);
|
||||
|
@ -62,9 +63,10 @@ static int32_t tBufferPutF32(SBufferWriter *writer, float value);
|
|||
static int32_t tBufferPutF64(SBufferWriter *writer, double value);
|
||||
|
||||
// SBufferReader
|
||||
#define tBufferReaderInit(forward, offset, buffer) ((SBufferReader){forward, offset, buffer})
|
||||
#define tBufferReaderDestroy(reader) ((void)0)
|
||||
#define tBufferReaderGetOffset(reader) ((reader)->offset)
|
||||
#define BUFFER_READER_INITIALIZER(forward, offset, buffer) ((SBufferReader){forward, offset, buffer})
|
||||
#define tBufferReaderDestroy(reader) ((void)0)
|
||||
#define tBufferReaderGetOffset(reader) ((reader)->offset)
|
||||
static int32_t tBufferReaderInit(SBufferReader *reader, bool forward, uint32_t offset, SBuffer *buffer);
|
||||
static int32_t tBufferGetFixed(SBufferReader *reader, void *data, uint32_t size);
|
||||
static int32_t tBufferGetI8(SBufferReader *reader, int8_t *value);
|
||||
static int32_t tBufferGetI16(SBufferReader *reader, int16_t *value);
|
||||
|
|
|
@ -82,6 +82,13 @@ static int32_t tBufferAppend(SBuffer *buffer, const void *data, uint32_t size) {
|
|||
}
|
||||
|
||||
// SBufferWriter
|
||||
static int32_t tBufferWriterInit(SBufferWriter *writer, bool forward, uint32_t offset, SBuffer *buffer) {
|
||||
writer->forward = forward;
|
||||
writer->offset = offset;
|
||||
writer->buffer = buffer;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static FORCE_INLINE int32_t tBufferPutFixed(SBufferWriter *writer, const void *data, uint32_t size) {
|
||||
if (!writer->forward && writer->offset < size) {
|
||||
return TSDB_CODE_OPS_NOT_SUPPORT;
|
||||
|
@ -189,6 +196,13 @@ static FORCE_INLINE int32_t tBufferPutF64(SBufferWriter *writer, double value) {
|
|||
}
|
||||
|
||||
// SBufferReader
|
||||
static int32_t tBufferReaderInit(SBufferReader *reader, bool forward, uint32_t offset, SBuffer *buffer) {
|
||||
reader->forward = forward;
|
||||
reader->offset = offset;
|
||||
reader->buffer = buffer;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int32_t tBufferGetFixed(SBufferReader *reader, void *data, uint32_t size) {
|
||||
if ((reader->forward && reader->offset + size > reader->buffer->capacity) ||
|
||||
(!reader->forward && reader->offset < size)) {
|
||||
|
|
|
@ -9,7 +9,9 @@ typedef struct {
|
|||
} STestStruct;
|
||||
|
||||
TEST(BufferTest, simpleTest1) {
|
||||
SBuffer buffer = tBufferInit();
|
||||
SBuffer buffer;
|
||||
|
||||
tBufferInit(&buffer);
|
||||
|
||||
GTEST_ASSERT_EQ(tBufferGetSize(&buffer), 0);
|
||||
GTEST_ASSERT_EQ(tBufferGetData(&buffer), nullptr);
|
||||
|
@ -20,11 +22,13 @@ TEST(BufferTest, simpleTest1) {
|
|||
TEST(BufferTest, forwardWriteAndRead) {
|
||||
int32_t code = 0;
|
||||
bool forward = true;
|
||||
SBuffer buffer = tBufferInit();
|
||||
SBuffer buffer;
|
||||
|
||||
tBufferInit(&buffer);
|
||||
taosSeedRand(taosGetTimestampSec());
|
||||
|
||||
// write
|
||||
SBufferWriter writer = tBufferWriterInit(forward, tBufferGetSize(&buffer), &buffer);
|
||||
SBufferWriter writer = BUFFER_WRITER_INITIALIZER(forward, tBufferGetSize(&buffer), &buffer);
|
||||
|
||||
/* fix-len struct */
|
||||
STestStruct testStruct = {1, 2};
|
||||
|
@ -250,7 +254,7 @@ TEST(BufferTest, forwardWriteAndRead) {
|
|||
tBufferWriterDestroy(&writer);
|
||||
|
||||
// read
|
||||
SBufferReader reader = tBufferReaderInit(forward, 0, &buffer);
|
||||
SBufferReader reader = BUFFER_READER_INITIALIZER(forward, 0, &buffer);
|
||||
|
||||
/* fix-len struct */
|
||||
STestStruct testStruct2 = {1, 2};
|
||||
|
@ -372,11 +376,13 @@ TEST(BufferTest, forwardWriteAndRead) {
|
|||
TEST(BufferTest, backwardWriteAndRead) {
|
||||
int32_t code = 0;
|
||||
bool forward = false;
|
||||
SBuffer buffer = tBufferInit();
|
||||
SBuffer buffer;
|
||||
|
||||
tBufferInit(&buffer);
|
||||
taosSeedRand(taosGetTimestampSec());
|
||||
|
||||
// write
|
||||
SBufferWriter writer = tBufferWriterInit(forward, 4096, &buffer);
|
||||
SBufferWriter writer = BUFFER_WRITER_INITIALIZER(forward, 4096, &buffer);
|
||||
|
||||
/* fix-len struct */
|
||||
STestStruct testStruct = {1, 2};
|
||||
|
@ -602,7 +608,7 @@ TEST(BufferTest, backwardWriteAndRead) {
|
|||
tBufferWriterDestroy(&writer);
|
||||
|
||||
// read
|
||||
SBufferReader reader = tBufferReaderInit(forward, 4096, &buffer);
|
||||
SBufferReader reader = BUFFER_READER_INITIALIZER(forward, 4096, &buffer);
|
||||
|
||||
/* fix-len struct */
|
||||
STestStruct testStruct2 = {1, 2};
|
||||
|
|
Loading…
Reference in New Issue