15#ifndef NYMPH_MESSAGE_H
16#define NYMPH_MESSAGE_H
18#include "nymph_types.h"
27 NYMPH_MESSAGE_REPLY = 0x01,
28 NYMPH_MESSAGE_EXCEPTION = 0x02,
29 NYMPH_MESSAGE_CALLBACK = 0x04
40 std::vector<NymphType*> values;
50 std::string callbackName;
52 std::string loggerName;
54 uint32_t buffer_length;
55 bool responseOwned =
true;
56 std::atomic<uint32_t> refCount = { 0 };
57 std::atomic<bool> deleted = {
false };
65 bool addValues(std::vector<NymphType*> &values);
68 uint8_t* buffer() {
return data_buffer; }
69 uint32_t buffer_size() {
return buffer_length; }
71 int getState() {
return state; }
72 bool isCorrupt() {
return corrupt; }
74 void setInReplyTo(uint64_t msgId);
75 bool isCallback() {
return flags & NYMPH_MESSAGE_CALLBACK; }
76 uint64_t getResponseId() {
return responseId; }
77 uint64_t getMessageId() {
return messageId; }
79 NymphType* getResponse(
bool take =
false) { responseOwned = take;
return response; }
80 std::vector<NymphType*>& parameters() {
return values; }
81 uint32_t getMethodId() {
return methodId; }
84 std::string getCallbackName() {
return callbackName; }
85 bool isReply() {
return flags & NYMPH_MESSAGE_REPLY; }
86 bool isException() {
return flags & NYMPH_MESSAGE_EXCEPTION; }
87 bool setException(
int exceptionId, std::string value);
88 bool setCallback(std::string name);
90 void addReferenceCount();
91 void decrementReferenceCount();
Definition: nymph_message.h:39
Definition: nymph_types.h:85
Definition: nymph_message.h:33