MCPcopy Create free account
hub / github.com/chronoxor/CppServer / onReceive

Method onReceive

proto/simple_protocol.cpp:109–212  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107}
108
109bool Receiver::onReceive(size_t type, const void* data, size_t size)
110{
111 switch (type)
112 {
113 case FBE::simple::SimpleRequestModel::fbe_type():
114 {
115 // Deserialize the value from the FBE stream
116 SimpleRequestModel.attach(data, size);
117 assert(SimpleRequestModel.verify() && "simple::SimpleRequest validation failed!");
118 [[maybe_unused]] size_t deserialized = SimpleRequestModel.deserialize(SimpleRequestValue);
119 assert((deserialized > 0) && "simple::SimpleRequest deserialization failed!");
120
121 // Log the value
122 if (this->_logging)
123 {
124 std::string message = SimpleRequestValue.string();
125 this->onReceiveLog(message);
126 }
127
128 // Call receive handler with deserialized value
129 onReceive(SimpleRequestValue);
130 return true;
131 }
132 case FBE::simple::SimpleResponseModel::fbe_type():
133 {
134 // Deserialize the value from the FBE stream
135 SimpleResponseModel.attach(data, size);
136 assert(SimpleResponseModel.verify() && "simple::SimpleResponse validation failed!");
137 [[maybe_unused]] size_t deserialized = SimpleResponseModel.deserialize(SimpleResponseValue);
138 assert((deserialized > 0) && "simple::SimpleResponse deserialization failed!");
139
140 // Log the value
141 if (this->_logging)
142 {
143 std::string message = SimpleResponseValue.string();
144 this->onReceiveLog(message);
145 }
146
147 // Call receive handler with deserialized value
148 onReceive(SimpleResponseValue);
149 return true;
150 }
151 case FBE::simple::SimpleRejectModel::fbe_type():
152 {
153 // Deserialize the value from the FBE stream
154 SimpleRejectModel.attach(data, size);
155 assert(SimpleRejectModel.verify() && "simple::SimpleReject validation failed!");
156 [[maybe_unused]] size_t deserialized = SimpleRejectModel.deserialize(SimpleRejectValue);
157 assert((deserialized > 0) && "simple::SimpleReject deserialization failed!");
158
159 // Log the value
160 if (this->_logging)
161 {
162 std::string message = SimpleRejectValue.string();
163 this->onReceiveLog(message);
164 }
165
166 // Call receive handler with deserialized value

Callers

nothing calls this directly

Calls 7

onReceiveLogMethod · 0.95
deserializeMethod · 0.80
get_beginMethod · 0.80
get_endMethod · 0.80
attachMethod · 0.45
verifyMethod · 0.45
stringMethod · 0.45

Tested by

no test coverage detected