00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef WIFI_MACTIME_TRACKER_HXX_
00023 # define WIFI_MACTIME_TRACKER_HXX_
00024
00025 # include "mactime_tracker.hh"
00026
00027 namespace wifi
00028 {
00029
00030 inline
00031 mactime_tracker::mactime_tracker():
00032 mactime_ (0),
00033 wraps_ (0)
00034 {
00035 }
00036
00037 inline
00038 void
00039 mactime_tracker::tick(mactime m)
00040 {
00041 if (m < mactime_)
00042 ++wraps_;
00043 mactime_ = m;
00044 }
00045
00046 inline
00047 void
00048 mactime_tracker::tick(const prism::header* h, size_t caplen)
00049 {
00050 if (caplen < sizeof (prism::header))
00051 return;
00052
00053 tick(h->mactime.data);
00054 }
00055
00056 inline
00057 mactime_tracker::operator tool::microseconds () const
00058 {
00059 return tool::microseconds(wraps_, mactime_);
00060 }
00061
00062 }
00063
00064 #endif // ! WIFI_MACTIME_TRACKER_HXX_