2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License as published by
4 * the Free Software Foundation; either version 2 of the License, or
5 * (at your option) any later version.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
12 * You should have received a copy of the GNU General Public License
13 * along with this program; if not, write to the Free Software
14 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 * Author : Boris Mikhailenko <stg34@stargazer.dp.ua>
23 $Date: 2010/10/07 19:48:52 $
33 #include "stg_const.h"
36 enum TRAFF_DIRECTION {TRAFF_UPLOAD, TRAFF_DOWNLOAD};
40 friend std::ostream & operator<< (std::ostream & o, const DIR_TRAFF & traff);
43 //-------------------------------------------------------------------------
45 DIR_TRAFF(const DIR_TRAFF & ts);
46 DIR_TRAFF & operator=(const DIR_TRAFF & ts);
48 uint64_t operator[](int idx) const;
49 uint64_t & operator[](int idx);
50 DIR_TRAFF operator+(const DIR_TRAFF & ts);
53 std::vector<uint64_t> traff;
55 //-----------------------------------------------------------------------------
57 //-----------------------------------------------------------------------------
58 inline DIR_TRAFF::DIR_TRAFF()
62 //-----------------------------------------------------------------------------
63 inline DIR_TRAFF::DIR_TRAFF(const DIR_TRAFF & ts)
67 //-----------------------------------------------------------------------------
68 inline DIR_TRAFF::~DIR_TRAFF()
71 //-----------------------------------------------------------------------------
72 inline DIR_TRAFF & DIR_TRAFF::operator=(const DIR_TRAFF & ts)
77 //-----------------------------------------------------------------------------
78 inline uint64_t & DIR_TRAFF::operator[](int idx)
82 //-----------------------------------------------------------------------------
83 inline uint64_t DIR_TRAFF::operator[](int idx) const
87 //-----------------------------------------------------------------------------
88 inline DIR_TRAFF DIR_TRAFF::operator+(const DIR_TRAFF & ts)
90 for (int i = 0; i < DIR_NUM; i++)
92 traff[i] = traff[i] + ts.traff[i];
96 //-----------------------------------------------------------------------------
97 inline std::ostream & operator<<(std::ostream & o, const DIR_TRAFF & traff)
100 for (size_t i = 0; i < DIR_NUM; ++i)
110 //-----------------------------------------------------------------------------