Request.hGo to the documentation of this file.00001 00006 /* 00007 Copyright (C) 2005 Anders Hedstrom 00008 00009 This program is free software; you can redistribute it and/or 00010 modify it under the terms of the GNU General Public License 00011 as published by the Free Software Foundation; either version 2 00012 of the License, or (at your option) any later version. 00013 00014 This program is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with this program; if not, write to the Free Software 00021 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00022 */ 00023 #ifndef _REQUEST_H 00024 #define _REQUEST_H 00025 00026 #include <string> 00027 #include <time.h> 00028 00029 00031 00032 class Request 00033 { 00034 public: 00035 Request(size_t piece,size_t offset,size_t length); 00036 ~Request(); 00037 00038 time_t Age() { return time(NULL) - m_time; } 00039 bool Equals(size_t piece,size_t offset,size_t length) { 00040 return piece == m_piece && 00041 offset == m_offset && 00042 length == m_length; 00043 } 00044 void ResetAge() { m_time = time(NULL); } 00045 00046 size_t GetPiece() { return m_piece; } 00047 size_t GetOffset() { return m_offset; } 00048 size_t GetLength() { return m_length; } 00049 00050 private: 00051 Request(const Request& ) {} // copy constructor 00052 Request& operator=(const Request& ) { return *this; } // assignment operator 00053 00054 size_t m_piece; 00055 size_t m_offset; 00056 size_t m_length; 00057 time_t m_time; 00058 }; 00059 00060 00061 00062 00063 #endif // _REQUEST_H |