forked from trygve-isaacson/code-vault
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvmessage.cpp
More file actions
69 lines (55 loc) · 2.24 KB
/
vmessage.cpp
File metadata and controls
69 lines (55 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
Copyright c1997-2014 Trygve Isaacson. All rights reserved.
This file is part of the Code Vault version 4.1
http://www.bombaydigital.com/
License: MIT. See LICENSE.md in the Vault top level directory.
*/
#include "vmessage.h"
#include "vlogger.h"
// VMessage -------------------------------------------------------------------
const VString VMessage::kMessageLoggerName("vault.messages");
const int VMessage::kMessageContentRecordingLevel = VLoggerLevel::INFO;
const int VMessage::kMessageHeaderLevel = VLoggerLevel::DEBUG;
const int VMessage::kMessageContentFieldsLevel = VLoggerLevel::DEBUG + 1;
const int VMessage::kMessageTrafficDetailsLevel = VLoggerLevel::DEBUG + 2;
const int VMessage::kMessageHandlerDispatchLevel = VLoggerLevel::DEBUG + 3;
const int VMessage::kMessageHandlerDetailLevel = VLoggerLevel::DEBUG + 4;
const int VMessage::kMessageContentHexDumpLevel = VLoggerLevel::DEBUG + 5;
const int VMessage::kMessageQueueOpsLevel = VLoggerLevel::DEBUG + 6;
const int VMessage::kMessageTraceDetailLevel = VLoggerLevel::TRACE;
const int VMessage::kMessageHandlerLifecycleLevel = VLoggerLevel::TRACE;
VMessage::VMessage()
: VBinaryIOStream(mMessageDataBuffer)
, mMessageDataBuffer(1024)
, mMessageID(0)
{
}
VMessage::VMessage(VMessageID messageID, Vs64 initialBufferSize)
: VBinaryIOStream(mMessageDataBuffer)
, mMessageDataBuffer(initialBufferSize)
, mMessageID(messageID)
{
}
void VMessage::recycleForSend(VMessageID messageID) {
mMessageID = messageID;
(void) this->seek0();
}
void VMessage::recycleForReceive() {
mMessageID = 0;
mMessageDataBuffer.setEOF(CONST_S64(0));
}
void VMessage::copyMessageData(VMessage& targetMessage) const {
Vs64 savedOffset = mMessageDataBuffer.getIOOffset();
mMessageDataBuffer.seek0();
(void) VStream::streamCopy(mMessageDataBuffer, targetMessage, mMessageDataBuffer.getEOFOffset());
mMessageDataBuffer.seek(savedOffset, SEEK_SET);
}
VMessageLength VMessage::getMessageDataLength() const {
return (VMessageLength) mMessageDataBuffer.getEOFOffset();
}
Vu8* VMessage::getBuffer() const {
return mMessageDataBuffer.getBuffer();
}
Vs64 VMessage::getBufferSize() const {
return mMessageDataBuffer.getBufferSize();
}