blob: 893e62b264784307a02c521393c4bd04201d8f44 [file] [log] [blame]
brians343bc112013-02-10 01:53:46 +00001#include "aos/common/queue.h"
2
3#include "aos/common/byteorder.h"
Brian4a424a22014-04-02 11:52:45 -07004#include <inttypes.h>
brians343bc112013-02-10 01:53:46 +00005
6namespace aos {
7
8void Message::Zero() {
9 sent_time.set_sec(0);
10 sent_time.set_nsec(0);
11}
12
13size_t Message::Deserialize(const char *buffer) {
14 int32_t sec;
15 int32_t nsec;
16 to_host(&buffer[0], &sec);
17 to_host(&buffer[4], &nsec);
18 sent_time.set_sec(sec);
19 sent_time.set_nsec(nsec);
20 return Size();
21}
22// Serializes the common fields into the buffer.
23size_t Message::Serialize(char *buffer) const {
24 // TODO(aschuh): to_network shouldn't need a pointer.
25 int32_t sec = sent_time.sec();
26 int32_t nsec = sent_time.nsec();
27 to_network(&sec, &buffer[0]);
28 to_network(&nsec, &buffer[4]);
29 return Size();
30}
31
32size_t Message::Print(char *buffer, int length) const {
Brian Silverman8efe23e2013-07-07 23:31:37 -070033 return snprintf(buffer, length, "%" PRId32 ".%09" PRId32 "s",
brians343bc112013-02-10 01:53:46 +000034 sent_time.sec(), sent_time.nsec());
35}
36
37} // namespace aos