diff options
Diffstat (limited to 'src/monitor.cc')
| -rw-r--r-- | src/monitor.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/monitor.cc b/src/monitor.cc index e07b036..cffe3d5 100644 --- a/src/monitor.cc +++ b/src/monitor.cc @@ -179,18 +179,23 @@ private: delegate_->package_data( this, pkg.id, reinterpret_cast<char*>(package_) + offset + o, size - o, - last); + last, pkg.timestamp); } } - } else if (size >= 10 && memcmp(package_ + offset, "DAT", 3) == 0) { + } else if (size >= 22 && memcmp(package_ + offset, "DAT", 3) == 0) { uint32_t id = read_u32(package_ + offset + o); o += 4; uint8_t flags = package_[offset + o]; ++o; + struct timespec ts; + ts.tv_sec = read_u64(package_ + offset + o); + o += 8; + ts.tv_nsec = read_u32(package_ + offset + o); + o += 4; delegate_->package_data( this, id, reinterpret_cast<char*>(package_) + offset + o, size - o, - !(flags & 0x01)); + !(flags & 0x01), ts); } offset += size; } |
