diff options
Diffstat (limited to 'libktorrent/net/circularbuffer.h')
| -rw-r--r-- | libktorrent/net/circularbuffer.h | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/libktorrent/net/circularbuffer.h b/libktorrent/net/circularbuffer.h deleted file mode 100644 index 6d45723..0000000 --- a/libktorrent/net/circularbuffer.h +++ /dev/null @@ -1,89 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2005 by Joris Guisson * - * joris.guisson@gmail.com * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ -#ifndef NETCIRCULARBUFFER_H -#define NETCIRCULARBUFFER_H - -#include <tqmutex.h> -#include <util/constants.h> - -namespace net -{ - using bt::Uint8; - using bt::Uint32; - - class BufferedSocket; - - /** - * @author Joris Guisson <joris.guisson@gmail.com> - * - * Simple circular buffer, to simulate a queue. - * Writes happen at the end, reads at the beginning. - * The buffer is protected by a mutex. - */ - class CircularBuffer - { - Uint8* buf; - Uint32 max_size; - Uint32 first; // index of first byte in the buffer - Uint32 size; // number of bytes in use - mutable TQMutex mutex; - public: - /** - * Create the buffer. - * @param max_size Maximum size of the buffer. - */ - CircularBuffer(Uint32 max_size); - virtual ~CircularBuffer(); - - /// How much capacity does the buffer have - Uint32 capacity() const {return max_size;} - - /// How much free space is there - Uint32 freeSpace() const; - - - /** - * Write a bunch of data at the back of the buffer. - * @param data Data to write - * @param size How many bytes to write - * @return The number of bytes written in the buffer - */ - Uint32 write(const Uint8* data,Uint32 size); - - /** - * Read from the buffer. - * @param data Buffer to store read data - * @param max_to_read Maximum amount of bytes to read - * @return The number of bytes read - */ - Uint32 read(Uint8* data,Uint32 max_to_read); - - /** - * Send the data in the buffer over the socket - * @param s THe socket - * @param max Maximum bytes to send - * @return The number of bytes written - */ - Uint32 send(BufferedSocket* s,Uint32 max); - }; - -} - -#endif |
