#include "message.hpp" void Message::set_string(string s){ size=s.size()+3; assert(size<=MAX_MSG_SIZE); buffer[0]=STRING; uint16_t u=s.size(); memcpy(&buffer[1],(char*)&u,2); memcpy(&buffer[3],s.c_str(),s.size()); } void Message::set_integer(Integer i){ size=1+sizeof(Integer); buffer[0]=INTEGER; memcpy(&buffer[1],(char*)&i,sizeof(Integer)); } void Message::set_data(const char* data_buffer,size_t data_size){ size=1+sizeof(size_t)+data_size; buffer[0]=DATA; size_t offset=1; memcpy(&buffer[1],&data_size,sizeof(size_t)); memcpy(&buffer[1+sizeof(size_t)],data_buffer,data_size); } bool Message::add(char l){ if(csize==0){ csize=1; buffer[0]=l; switch(l){ case CODE: size=2; break; case INTEGER: size=1+sizeof(Integer); break; case STRING: case DATA: break; default: cerr<<"[Error] Message type unkown ("<