blob: 7e7f2a10802a8e434918f38c26c0cd82dab0f4fb [file] [log] [blame]
#include "aos/common/queue.h"
#include "aos/common/byteorder.h"
#include "aos/common/inttypes.h"
namespace aos {
void Message::Zero() {
sent_time.set_sec(0);
sent_time.set_nsec(0);
}
size_t Message::Deserialize(const char *buffer) {
int32_t sec;
int32_t nsec;
to_host(&buffer[0], &sec);
to_host(&buffer[4], &nsec);
sent_time.set_sec(sec);
sent_time.set_nsec(nsec);
return Size();
}
// Serializes the common fields into the buffer.
size_t Message::Serialize(char *buffer) const {
// TODO(aschuh): to_network shouldn't need a pointer.
int32_t sec = sent_time.sec();
int32_t nsec = sent_time.nsec();
to_network(&sec, &buffer[0]);
to_network(&nsec, &buffer[4]);
return Size();
}
size_t Message::Print(char *buffer, int length) const {
return snprintf(buffer, length, "%"PRId32".%09"PRId32"s",
sent_time.sec(), sent_time.nsec());
}
} // namespace aos