00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef TIMESLOT_H
00019 #define TIMESLOT_H
00020
00025 class TimeSlot;
00026
00027 #include <cc++/misc.h>
00028
00029 #ifdef CCXX_NAMESPACES
00030 using namespace std;
00031 using namespace ost;
00032 #endif
00033
00034 #include "common.h"
00035 #include "ifpair.h"
00036 #include "flow.h"
00037 #include "timestamp.h"
00038
00039 #include <stdio.h>
00040 #include <errno.h>
00041
00042 #include <iostream>
00043 #include <fstream>
00044
00045 #include <string>
00046 #include <vector>
00047 #include <map>
00048
00049 class TimeSlot {
00050 public:
00051 TimeSlot(TimeStamp&, uint32_t&, const char *);
00052 virtual ~TimeSlot();
00053 virtual void setupIfPairs(const char *);
00054 virtual void Add(Flow&);
00055 virtual void setPrevious(TimeSlot *ts) { previous = ts; }
00056 virtual void setPreviousAdd(TimeSlot *ts) { previousadd = ts; }
00057 TimeSlot *getPrevious() { return previous; }
00058 TimeStamp const getBegin() { return begin; }
00059 TimeStamp const getEnd() { return end; }
00060 map< uint16_t, map <uint16_t, IfPair *> > *getIntTree() { return &inttree; }
00061 uint32_t& getFlows() { return flows; }
00062 uint32_t& getPackets() { return packets; }
00063 uint32_t& getOctets() { return octets; }
00064
00065 private:
00066 map< uint16_t, map <uint16_t, IfPair *> > inttree;
00067 TimeStamp begin, end;
00068 TimeSlot *previous, *previousadd;
00069 uint32_t flows, octets, packets;
00070 };
00071
00072 #endif