Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct __attribute__ ((packed)) CITE_MSG_T
- {
- uint8_t msg_id;
- uint64_t key;
- uint16_t index;
- uint16_t parts;
- CITE_PART_T text;
- };
- struct __attribute__ ((packed)) CITE_PART_T
- {
- uint16_t data_length;
- char* data;
- };
- size_t receivedBytes = socket.receive_from(mutableBuf, serverEndpoint);
- sb.commit(receivedBytes);
- if (msgType == 0)
- {
- uint8_t errno_;
- is.read((char*)errno_, sizeof(errno_));
- sb.consume(receivedBytes);
- errno = __builtin_bswap64(errno_); // it is just a class member
- throw QaSProtocolClientException("Server returned error");
- }
- replyMsg.msg_id = msgType;
- is.read((char*)&replyMsg.key, sizeof(replyMsg.key));
- is.read((char*)&replyMsg.index, sizeof(replyMsg.index));
- is.read((char*)&replyMsg.parts, sizeof(replyMsg.parts));
- is.read((char*)&replyMsg.text.data_length, sizeof(replyMsg.text.data_length));
- if (replyMsg.text.data != NULL)
- {
- delete[] replyMsg.text.data;
- }
- replyMsg.text.data = new char[replyMsg.text.data_length];
- is.read(replyMsg.text.data, htons(replyMsg.text.data_length));
- sb.consume(receivedBytes);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement