Use user-defined literal for k, m, and g (powers of 1024)

pull/454/head
Tatsuhiro Tsujikawa 2015-06-21 18:04:30 +09:00
parent 8ba9b04747
commit 318c804504
99 changed files with 482 additions and 453 deletions

View File

@ -101,7 +101,7 @@ void AbstractSingleDiskAdaptor::writeCache(const WrDiskCacheEntry* entry)
// activity especially on Windows 7 NTFS. In this code, we assume // activity especially on Windows 7 NTFS. In this code, we assume
// that maximum length of DataCell data is 16KiB to simplify the // that maximum length of DataCell data is 16KiB to simplify the
// code. // code.
unsigned char buf[16*1024]; unsigned char buf[16_k];
int64_t start = 0; int64_t start = 0;
size_t buflen = 0; size_t buflen = 0;
size_t buffoffset = 0; size_t buffoffset = 0;

View File

@ -61,8 +61,8 @@ void AdaptiveFileAllocationIterator::allocateChunk()
try { try {
A2_LOG_DEBUG("Testing file system supports fallocate."); A2_LOG_DEBUG("Testing file system supports fallocate.");
if(offset_ < totalLength_) { if(offset_ < totalLength_) {
int64_t len = std::min(totalLength_-offset_, int64_t len =
static_cast<int64_t>(4096)); std::min(totalLength_ - offset_, static_cast<int64_t>(4_k));
stream_->allocate(offset_, len, false); stream_->allocate(offset_, len, false);
offset_ += len; offset_ += len;
} }

View File

@ -226,7 +226,7 @@ void AdaptiveURISelector::adjustLowestSpeedLimit
int lowest = int lowest =
requestGroup_->getOption()->getAsInt(PREF_LOWEST_SPEED_LIMIT); requestGroup_->getOption()->getAsInt(PREF_LOWEST_SPEED_LIMIT);
if (lowest > 0) { if (lowest > 0) {
int low_lowest = 4 * 1024; int low_lowest = 4_k;
int max = getMaxDownloadSpeed(uris); int max = getMaxDownloadSpeed(uris);
if (max > 0 && lowest > max / 4) { if (max > 0 && lowest > max / 4) {
A2_LOG_NOTICE(fmt(_("Lowering lowest-speed-limit since known max speed is" A2_LOG_NOTICE(fmt(_("Lowering lowest-speed-limit since known max speed is"

View File

@ -36,6 +36,7 @@
#define D_BT_CONSTANTS_H #define D_BT_CONSTANTS_H
#include "common.h" #include "common.h"
#include "a2functional.h"
namespace aria2 { namespace aria2 {
@ -45,14 +46,14 @@ constexpr size_t PIECE_HASH_LENGTH = 20;
constexpr size_t PEER_ID_LENGTH = 20; constexpr size_t PEER_ID_LENGTH = 20;
constexpr size_t MAX_BLOCK_LENGTH = 16 * 1024; constexpr size_t MAX_BLOCK_LENGTH = 16_k;
constexpr size_t DEFAULT_MAX_OUTSTANDING_REQUEST = 6; constexpr size_t DEFAULT_MAX_OUTSTANDING_REQUEST = 6;
// Upper Bound of the number of outstanding request // Upper Bound of the number of outstanding request
constexpr size_t UB_MAX_OUTSTANDING_REQUEST = 256; constexpr size_t UB_MAX_OUTSTANDING_REQUEST = 256;
constexpr size_t METADATA_PIECE_SIZE = 16 * 1024; constexpr size_t METADATA_PIECE_SIZE = 16_k;
constexpr const char LPD_MULTICAST_ADDR[] = "239.192.152.143"; constexpr const char LPD_MULTICAST_ADDR[] = "239.192.152.143";

View File

@ -213,7 +213,7 @@ void BtPieceMessage::send()
void BtPieceMessage::pushPieceData(int64_t offset, int32_t length) const void BtPieceMessage::pushPieceData(int64_t offset, int32_t length) const
{ {
assert(length <= 16*1024); assert(length <= 16_k);
auto buf = make_unique<unsigned char[]>(length+MESSAGE_HEADER_LENGTH); auto buf = make_unique<unsigned char[]>(length+MESSAGE_HEADER_LENGTH);
createMessageHeader(buf.get()); createMessageHeader(buf.get());
ssize_t r; ssize_t r;

View File

@ -38,6 +38,8 @@
#include "DiskWriter.h" #include "DiskWriter.h"
#include <sstream> #include <sstream>
#include "a2functional.h"
namespace aria2 { namespace aria2 {
class ByteArrayDiskWriter : public DiskWriter { class ByteArrayDiskWriter : public DiskWriter {
@ -46,7 +48,7 @@ private:
size_t maxLength_; size_t maxLength_;
void clear(); void clear();
public: public:
ByteArrayDiskWriter(size_t maxLength = 5*1024*1024); ByteArrayDiskWriter(size_t maxLength = 5_m);
virtual ~ByteArrayDiskWriter(); virtual ~ByteArrayDiskWriter();
virtual void initAndOpenFile(int64_t totalLength = 0) CXX11_OVERRIDE; virtual void initAndOpenFile(int64_t totalLength = 0) CXX11_OVERRIDE;

View File

@ -100,10 +100,10 @@ bool DHTInteractionCommand::execute()
std::string remoteAddr; std::string remoteAddr;
uint16_t remotePort; uint16_t remotePort;
unsigned char data[64*1024]; std::array<unsigned char, 64_k> data;
try { try {
while(1) { while(1) {
ssize_t length = connection_->receiveMessage(data, sizeof(data), ssize_t length = connection_->receiveMessage(data.data(), data.size(),
remoteAddr, remotePort); remoteAddr, remotePort);
if(length <= 0) { if(length <= 0) {
break; break;
@ -111,11 +111,11 @@ bool DHTInteractionCommand::execute()
if(data[0] == 'd') { if(data[0] == 'd') {
// udp tracker response does not start with 'd', so assume // udp tracker response does not start with 'd', so assume
// this message belongs to DHT. nothrow. // this message belongs to DHT. nothrow.
receiver_->receiveMessage(remoteAddr, remotePort, data, length); receiver_->receiveMessage(remoteAddr, remotePort, data.data(), length);
} else { } else {
// this may be udp tracker response. nothrow. // this may be udp tracker response. nothrow.
udpTrackerClient_->receiveReply(data, length, remoteAddr, remotePort, udpTrackerClient_->receiveReply(data.data(), length, remoteAddr,
global::wallclock()); remotePort, global::wallclock());
} }
} }
} catch(RecoverableException& e) { } catch(RecoverableException& e) {
@ -126,7 +126,7 @@ bool DHTInteractionCommand::execute()
dispatcher_->sendMessages(); dispatcher_->sendMessages();
while(!udpTrackerClient_->getPendingRequests().empty()) { while(!udpTrackerClient_->getPendingRequests().empty()) {
// no throw // no throw
ssize_t length = udpTrackerClient_->createRequest(data, sizeof(data), ssize_t length = udpTrackerClient_->createRequest(data.data(), data.size(),
remoteAddr, remotePort, remoteAddr, remotePort,
global::wallclock()); global::wallclock());
if(length == -1) { if(length == -1) {
@ -134,7 +134,7 @@ bool DHTInteractionCommand::execute()
} }
try { try {
// throw // throw
connection_->sendMessage(data, length, remoteAddr, remotePort); connection_->sendMessage(data.data(), length, remoteAddr, remotePort);
udpTrackerClient_->requestSent(global::wallclock()); udpTrackerClient_->requestSent(global::wallclock());
} catch(RecoverableException& e) { } catch(RecoverableException& e) {
A2_LOG_INFO_EX("Exception thrown while sending UDP tracker request.", e); A2_LOG_INFO_EX("Exception thrown while sending UDP tracker request.", e);

View File

@ -121,9 +121,9 @@ std::string FeedbackURISelector::selectFaster
const std::vector<std::pair<size_t, std::string> >& usedHosts) const std::vector<std::pair<size_t, std::string> >& usedHosts)
{ {
// Use first 10 good URIs to introduce some randomness. // Use first 10 good URIs to introduce some randomness.
const size_t NUM_URI = 10; constexpr size_t NUM_URI = 10;
// Ignore low speed server // Ignore low speed server
const int SPEED_THRESHOLD = 20*1024; constexpr int SPEED_THRESHOLD = 20_k;
std::vector<std::pair<std::shared_ptr<ServerStat>, std::string> > fastCands; std::vector<std::pair<std::shared_ptr<ServerStat>, std::string> > fastCands;
std::vector<std::string> normCands; std::vector<std::string> normCands;
for (const auto& u: uris) { for (const auto& u: uris) {

View File

@ -251,7 +251,7 @@ FileEntry::findFasterRequest
const std::vector<std::pair<size_t, std::string> >& usedHosts, const std::vector<std::pair<size_t, std::string> >& usedHosts,
const std::shared_ptr<ServerStatMan>& serverStatMan) const std::shared_ptr<ServerStatMan>& serverStatMan)
{ {
const int SPEED_THRESHOLD = 20*1024; constexpr int SPEED_THRESHOLD = 20_k;
if(lastFasterReplace_.difference(global::wallclock()) < startupIdleTime) { if(lastFasterReplace_.difference(global::wallclock()) < startupIdleTime) {
return nullptr; return nullptr;
} }

View File

@ -332,10 +332,10 @@ FtpConnection::findEndOfResponse
bool FtpConnection::bulkReceiveResponse(std::pair<int, std::string>& response) bool FtpConnection::bulkReceiveResponse(std::pair<int, std::string>& response)
{ {
char buf[1024]; std::array<char, 1_k> buf;
while(1) { while(1) {
size_t size = sizeof(buf); size_t size = buf.size();
socket_->readData(buf, size); socket_->readData(buf.data(), size);
if(size == 0) { if(size == 0) {
if(socket_->wantRead() || socket_->wantWrite()) { if(socket_->wantRead() || socket_->wantWrite()) {
break; break;
@ -348,7 +348,7 @@ bool FtpConnection::bulkReceiveResponse(std::pair<int, std::string>& response)
(fmt("Max FTP recv buffer reached. length=%lu", (fmt("Max FTP recv buffer reached. length=%lu",
static_cast<unsigned long>(strbuf_.size()+size))); static_cast<unsigned long>(strbuf_.size()+size)));
} }
strbuf_.append(&buf[0], &buf[size]); strbuf_.append(std::begin(buf), std::begin(buf) + size);
} }
int status; int status;
if(strbuf_.size() >= 4) { if(strbuf_.size() >= 4) {

View File

@ -44,6 +44,7 @@
#include "TimeA2.h" #include "TimeA2.h"
#include "SocketBuffer.h" #include "SocketBuffer.h"
#include "Command.h" #include "Command.h"
#include "a2functional.h"
namespace aria2 { namespace aria2 {
@ -75,7 +76,7 @@ private:
bool bulkReceiveResponse(std::pair<int, std::string>& response); bool bulkReceiveResponse(std::pair<int, std::string>& response);
//prepare for large banners //prepare for large banners
static const size_t MAX_RECV_BUFFER = 65536; static const size_t MAX_RECV_BUFFER = 64_k;
public: public:
FtpConnection(cuid_t cuid, const std::shared_ptr<SocketCore>& socket, FtpConnection(cuid_t cuid, const std::shared_ptr<SocketCore>& socket,
const std::shared_ptr<Request>& req, const std::shared_ptr<Request>& req,

View File

@ -38,6 +38,8 @@
#include "StreamFilter.h" #include "StreamFilter.h"
#include <zlib.h> #include <zlib.h>
#include "a2functional.h"
namespace aria2 { namespace aria2 {
// GZipDecodingStreamFilter can decode both gzip and deflate format. // GZipDecodingStreamFilter can decode both gzip and deflate format.
@ -49,7 +51,7 @@ private:
size_t bytesProcessed_; size_t bytesProcessed_;
static const size_t OUTBUF_LENGTH = 16*1024; static const size_t OUTBUF_LENGTH = 16_k;
public: public:
GZipDecodingStreamFilter GZipDecodingStreamFilter
(std::unique_ptr<StreamFilter> delegate = nullptr); (std::unique_ptr<StreamFilter> delegate = nullptr);

View File

@ -42,10 +42,6 @@
namespace aria2 { namespace aria2 {
namespace {
const int OUTBUF_LENGTH = 4096;
} // namespace
GZipEncoder::GZipEncoder():strm_(nullptr) {} GZipEncoder::GZipEncoder():strm_(nullptr) {}
GZipEncoder::~GZipEncoder() GZipEncoder::~GZipEncoder()
@ -84,16 +80,16 @@ std::string GZipEncoder::encode
strm_->avail_in = length; strm_->avail_in = length;
strm_->next_in = const_cast<unsigned char*>(in); strm_->next_in = const_cast<unsigned char*>(in);
std::string out; std::string out;
unsigned char outbuf[OUTBUF_LENGTH]; std::array<unsigned char, 4_k> outbuf;
while(1) { while(1) {
strm_->avail_out = OUTBUF_LENGTH; strm_->avail_out = outbuf.size();
strm_->next_out = outbuf; strm_->next_out = outbuf.data();
int ret = ::deflate(strm_, flush); int ret = ::deflate(strm_, flush);
if(ret == Z_STREAM_ERROR) { if(ret == Z_STREAM_ERROR) {
throw DL_ABORT_EX(fmt("libz::deflate() failed. cause:%s", throw DL_ABORT_EX(fmt("libz::deflate() failed. cause:%s",
strm_->msg)); strm_->msg));
} }
size_t produced = OUTBUF_LENGTH-strm_->avail_out; size_t produced = outbuf.size() - strm_->avail_out;
out.append(&outbuf[0], &outbuf[produced]); out.append(&outbuf[0], &outbuf[produced]);
if(strm_->avail_out > 0) { if(strm_->avail_out > 0) {
break; break;

View File

@ -45,7 +45,7 @@ namespace aria2 {
GZipFile::GZipFile(const char* filename, const char* mode) GZipFile::GZipFile(const char* filename, const char* mode)
: fp_(nullptr), : fp_(nullptr),
buflen_(1024), buf_(reinterpret_cast<char*>(malloc(buflen_))) buflen_(1_k), buf_(reinterpret_cast<char*>(malloc(buflen_)))
{ {
FILE* fp = FILE* fp =
#ifdef __MINGW32__ #ifdef __MINGW32__

View File

@ -98,11 +98,11 @@ typename Parser::ResultType parseFile(Parser& parser,
return Parser::ParserStateMachineType::noResult(); return Parser::ParserStateMachineType::noResult();
} }
auto fdclose = defer(fd, close); auto fdclose = defer(fd, close);
char buf[4096]; std::array<char, 4_k> buf;
ssize_t nread; ssize_t nread;
ssize_t nproc; ssize_t nproc;
while((nread = read(fd, buf, sizeof(buf))) > 0) { while((nread = read(fd, buf.data(), buf.size())) > 0) {
nproc = parser.parseUpdate(buf, nread); nproc = parser.parseUpdate(buf.data(), nread);
if(nproc < 0) { if(nproc < 0) {
break; break;
} }

View File

@ -215,7 +215,7 @@ HandshakeExtensionMessage::create(const unsigned char* data, size_t length)
// Only accept metadata smaller than 1MiB. Be aware that broken // Only accept metadata smaller than 1MiB. Be aware that broken
// client can send negative size! // client can send negative size!
if(size > 0 && size <= 1024*1024) { if(size > 0 && size <= 1_m) {
msg->metadataSize_ = size; msg->metadataSize_ = size;
} }
} }

View File

@ -440,7 +440,7 @@ fin:
// http://httpd.apache.org/docs/2.2/en/mod/core.html about size // http://httpd.apache.org/docs/2.2/en/mod/core.html about size
// limit of HTTP headers. The page states that the number of request // limit of HTTP headers. The page states that the number of request
// fields rarely exceeds 20. // fields rarely exceeds 20.
if (lastFieldName_.size() > 1024 || buf_.size() > 8192) { if (lastFieldName_.size() > 1024 || buf_.size() > 8_k) {
throw DL_ABORT_EX("Too large HTTP header"); throw DL_ABORT_EX("Too large HTTP header");
} }

View File

@ -91,15 +91,15 @@ std::string IOFile::getLine()
if(eof()) { if(eof()) {
return res; return res;
} }
char buf[4096]; std::array<char, 4_k> buf;
while(gets(buf, sizeof(buf))) { while(gets(buf.data(), buf.size())) {
size_t len = strlen(buf); size_t len = strlen(buf.data());
bool lineBreak = false; bool lineBreak = false;
if(buf[len-1] == '\n') { if(buf[len-1] == '\n') {
--len; --len;
lineBreak = true; lineBreak = true;
} }
res.append(buf, len); res.append(buf.data(), len);
if(lineBreak) { if(lineBreak) {
break; break;
} }
@ -120,12 +120,12 @@ bool IOFile::eof()
size_t IOFile::transfer(std::ostream& out) size_t IOFile::transfer(std::ostream& out)
{ {
size_t count = 0; size_t count = 0;
char buf[4096]; std::array<char, 4_k> buf;
while(1) { while(1) {
size_t r = this->read(buf, sizeof(buf)); size_t r = this->read(buf.data(), buf.size());
out.write(buf, r); out.write(buf.data(), r);
count += r; count += r;
if(r < sizeof(buf)) { if(r < buf.size()) {
break; break;
} }
} }

View File

@ -63,10 +63,10 @@ void IteratableChecksumValidator::validateChunk()
{ {
// Don't guard with !finished() to allow zero-length file to be // Don't guard with !finished() to allow zero-length file to be
// verified. // verified.
unsigned char buf[4096]; std::array<unsigned char, 4_k> buf;
size_t length = pieceStorage_->getDiskAdaptor()->readDataDropCache size_t length = pieceStorage_->getDiskAdaptor()->readDataDropCache
(buf, sizeof(buf), currentOffset_); (buf.data(), buf.size(), currentOffset_);
ctx_->update(buf, length); ctx_->update(buf.data(), length);
currentOffset_ += length; currentOffset_ += length;
if(finished()) { if(finished()) {
std::string actualDigest = ctx_->digest(); std::string actualDigest = ctx_->digest();

View File

@ -121,18 +121,19 @@ void IteratableChunkChecksumValidator::init()
std::string IteratableChunkChecksumValidator::digest(int64_t offset, size_t length) std::string IteratableChunkChecksumValidator::digest(int64_t offset, size_t length)
{ {
unsigned char buf[4096]; std::array<unsigned char, 4_k> buf;
ctx_->reset(); ctx_->reset();
int64_t max = offset+length; int64_t max = offset+length;
while(offset < max) { while(offset < max) {
size_t r = pieceStorage_->getDiskAdaptor()->readDataDropCache size_t r = pieceStorage_->getDiskAdaptor()->readDataDropCache(
(buf, std::min(static_cast<int64_t>(sizeof(buf)), max-offset), offset); buf.data(), std::min(static_cast<int64_t>(buf.size()), max - offset),
offset);
if(r == 0) { if(r == 0) {
throw DL_ABORT_EX throw DL_ABORT_EX
(fmt(EX_FILE_READ, dctx_->getBasePath().c_str(), (fmt(EX_FILE_READ, dctx_->getBasePath().c_str(),
"data is too short")); "data is too short"));
} }
ctx_->update(buf, r); ctx_->update(buf.data(), r);
offset += r; offset += r;
} }
return ctx_->digest(); return ctx_->digest();

View File

@ -198,15 +198,15 @@ void MSEHandshake::initCipher(const unsigned char* infoHash)
decryptor_->init(peerCipherKey, sizeof(peerCipherKey)); decryptor_->init(peerCipherKey, sizeof(peerCipherKey));
// discard first 1024 bytes ARC4 output. // discard first 1024 bytes ARC4 output.
unsigned char garbage[1024]; std::array<unsigned char, 1_k> garbage;
encryptor_->encrypt(1024, garbage, garbage); encryptor_->encrypt(garbage.size(), garbage.data(), garbage.data());
decryptor_->encrypt(1024, garbage, garbage); decryptor_->encrypt(garbage.size(), garbage.data(), garbage.data());
if(initiator_) { if(initiator_) {
ARC4Encryptor enc; ARC4Encryptor enc;
enc.init(peerCipherKey, sizeof(peerCipherKey)); enc.init(peerCipherKey, sizeof(peerCipherKey));
// discard first 1024 bytes ARC4 output. // discard first 1024 bytes ARC4 output.
enc.encrypt(1024, garbage, garbage); enc.encrypt(garbage.size(), garbage.data(), garbage.data());
enc.encrypt(VC_LENGTH, initiatorVCMarker_, VC); enc.encrypt(VC_LENGTH, initiatorVCMarker_, VC);
} }
} }

View File

@ -423,7 +423,7 @@ void MultiDiskAdaptor::writeCache(const WrDiskCacheEntry* entry)
{ {
// Write cached data in 4KiB aligned offset. This reduces disk // Write cached data in 4KiB aligned offset. This reduces disk
// activity especially on Windows 7 NTFS. // activity especially on Windows 7 NTFS.
unsigned char buf[16*1024]; unsigned char buf[16_k];
size_t buflen = 0; size_t buflen = 0;
size_t buffoffset = 0; size_t buffoffset = 0;
auto& dataSet = entry->getDataSet(); auto& dataSet = entry->getDataSet();

View File

@ -574,7 +574,7 @@ std::vector<OptionHandler*> OptionHandlerFactory::createOptionHandlers()
(PREF_MIN_SPLIT_SIZE, (PREF_MIN_SPLIT_SIZE,
TEXT_MIN_SPLIT_SIZE, TEXT_MIN_SPLIT_SIZE,
"20M", "20M",
1024*1024, 1024*1024*1024, 1_m, 1_g,
'k')); 'k'));
op->addTag(TAG_BASIC); op->addTag(TAG_BASIC);
op->addTag(TAG_FTP); op->addTag(TAG_FTP);
@ -1072,8 +1072,7 @@ std::vector<OptionHandler*> OptionHandlerFactory::createOptionHandlers()
(PREF_PIECE_LENGTH, (PREF_PIECE_LENGTH,
TEXT_PIECE_LENGTH, TEXT_PIECE_LENGTH,
"1M", "1M",
1024*1024, 1_m, 1_g));
1024*1024*1024));
op->addTag(TAG_ADVANCED); op->addTag(TAG_ADVANCED);
op->addTag(TAG_FTP); op->addTag(TAG_FTP);
op->addTag(TAG_HTTP); op->addTag(TAG_HTTP);

View File

@ -166,7 +166,7 @@ bool PeerConnection::receiveMessage(unsigned char* data, size_t& dataLength)
size_t nread; size_t nread;
// To reduce the amount of copy involved in buffer shift, large // To reduce the amount of copy involved in buffer shift, large
// payload will be read exactly. // payload will be read exactly.
if(currentPayloadLength_ > 4096) { if(currentPayloadLength_ > 4_k) {
nread = currentPayloadLength_ + 4 - resbufLength_; nread = currentPayloadLength_ + 4 - resbufLength_;
} else { } else {
nread = bufferCapacity_ - resbufLength_; nread = bufferCapacity_ - resbufLength_;

View File

@ -42,6 +42,7 @@
#include "SocketBuffer.h" #include "SocketBuffer.h"
#include "Command.h" #include "Command.h"
#include "a2functional.h"
namespace aria2 { namespace aria2 {
@ -52,7 +53,7 @@ class ARC4Encryptor;
// The maximum length of buffer. If the message length (including 4 // The maximum length of buffer. If the message length (including 4
// bytes length and payload length) is larger than this value, it is // bytes length and payload length) is larger than this value, it is
// dropped. // dropped.
constexpr size_t MAX_BUFFER_CAPACITY = 16 * 1024 + 128; constexpr size_t MAX_BUFFER_CAPACITY = 16_k + 128;
class PeerConnection { class PeerConnection {
private: private:

View File

@ -245,23 +245,22 @@ void updateHashWithRead(MessageDigest* mdctx,
const std::shared_ptr<DiskAdaptor>& adaptor, const std::shared_ptr<DiskAdaptor>& adaptor,
int64_t offset, size_t len) int64_t offset, size_t len)
{ {
const size_t BUFSIZE = 4096; std::array<unsigned char, 4_k> buf;
unsigned char buf[BUFSIZE]; ldiv_t res = ldiv(len, buf.size());
ldiv_t res = ldiv(len, BUFSIZE);
for(int j = 0; j < res.quot; ++j) { for(int j = 0; j < res.quot; ++j) {
ssize_t nread = adaptor->readData(buf, BUFSIZE, offset); ssize_t nread = adaptor->readData(buf.data(), buf.size(), offset);
if((size_t)nread != BUFSIZE) { if((size_t)nread != buf.size()) {
throw DL_ABORT_EX(fmt(EX_FILE_READ, "n/a", "data is too short")); throw DL_ABORT_EX(fmt(EX_FILE_READ, "n/a", "data is too short"));
} }
mdctx->update(buf, nread); mdctx->update(buf.data(), nread);
offset += nread; offset += nread;
} }
if(res.rem) { if(res.rem) {
ssize_t nread = adaptor->readData(buf, res.rem, offset); ssize_t nread = adaptor->readData(buf.data(), res.rem, offset);
if(nread != res.rem) { if(nread != res.rem) {
throw DL_ABORT_EX(fmt(EX_FILE_READ, "n/a", "data is too short")); throw DL_ABORT_EX(fmt(EX_FILE_READ, "n/a", "data is too short"));
} }
mdctx->update(buf, nread); mdctx->update(buf.data(), nread);
} }
} }
} // namespace } // namespace

View File

@ -43,6 +43,7 @@
#include <memory> #include <memory>
#include "Command.h" #include "Command.h"
#include "a2functional.h"
namespace aria2 { namespace aria2 {
@ -71,7 +72,7 @@ private:
Piece& operator=(const Piece& piece) = delete; Piece& operator=(const Piece& piece) = delete;
public: public:
static const int32_t BLOCK_LENGTH = 16*1024; static const int32_t BLOCK_LENGTH = 16_k;
Piece(); Piece();
Piece(size_t index, int64_t length, int32_t blockLength = BLOCK_LENGTH); Piece(size_t index, int64_t length, int32_t blockLength = BLOCK_LENGTH);

View File

@ -45,7 +45,7 @@
namespace aria2 { namespace aria2 {
constexpr size_t BUFSIZE = 256 * 1024; constexpr size_t BUFSIZE = 256_k;
constexpr size_t ALIGNMENT = 512; constexpr size_t ALIGNMENT = 512;
SingleFileAllocationIterator::SingleFileAllocationIterator SingleFileAllocationIterator::SingleFileAllocationIterator

View File

@ -79,7 +79,7 @@ ssize_t SinkStreamFilter::transform
inbuf, wlen); inbuf, wlen);
if(alen < wlen) { if(alen < wlen) {
size_t len = wlen - alen; size_t len = wlen - alen;
size_t capacity = std::max(len, static_cast<size_t>(4096)); size_t capacity = std::max(len, static_cast<size_t>(4_k));
auto dataCopy = new unsigned char[capacity]; auto dataCopy = new unsigned char[capacity];
memcpy(dataCopy, inbuf + alen, len); memcpy(dataCopy, inbuf + alen, len);
piece->updateWrCache(wrDiskCache_, dataCopy, 0, len, capacity, piece->updateWrCache(wrDiskCache_, dataCopy, 0, len, capacity,

View File

@ -135,7 +135,7 @@ ssize_t SocketBuffer::send()
while(!bufq_.empty()) { while(!bufq_.empty()) {
size_t num; size_t num;
size_t bufqlen = bufq_.size(); size_t bufqlen = bufq_.size();
ssize_t amount = 24*1024; ssize_t amount = 24_k;
ssize_t firstlen = bufq_.front()->getLength() - offset_; ssize_t firstlen = bufq_.front()->getLength() - offset_;
amount -= firstlen; amount -= firstlen;
iov[0].A2IOVEC_BASE = iov[0].A2IOVEC_BASE =

View File

@ -1518,7 +1518,7 @@ void checkAddrconfig()
{ {
#ifdef HAVE_IPHLPAPI_H #ifdef HAVE_IPHLPAPI_H
A2_LOG_INFO("Checking configured addresses"); A2_LOG_INFO("Checking configured addresses");
ULONG bufsize = 15*1024; ULONG bufsize = 15_k;
ULONG retval = 0; ULONG retval = 0;
IP_ADAPTER_ADDRESSES* buf = 0; IP_ADAPTER_ADDRESSES* buf = 0;
int numTry = 0; int numTry = 0;

View File

@ -40,6 +40,8 @@
#include <memory> #include <memory>
#include <array> #include <array>
#include "a2functional.h"
namespace aria2 { namespace aria2 {
class SocketCore; class SocketCore;
@ -79,7 +81,7 @@ public:
} }
private: private:
std::array<unsigned char, 16384> buf_; std::array<unsigned char, 16_k> buf_;
std::shared_ptr<SocketCore> socket_; std::shared_ptr<SocketCore> socket_;
unsigned char *pos_; unsigned char *pos_;
unsigned char *last_; unsigned char *last_;

View File

@ -494,7 +494,7 @@ ssize_t WinTLSSession::readData(void* data, size_t len)
} }
// Read as many bytes as available from the connection, up to len + 4k. // Read as many bytes as available from the connection, up to len + 4k.
readBuf_.resize(len + 4096); readBuf_.resize(len + 4_k);
while (readBuf_.free()) { while (readBuf_.free()) {
ssize_t read = ::recv(sockfd_, readBuf_.end(), readBuf_.free(), 0); ssize_t read = ::recv(sockfd_, readBuf_.end(), readBuf_.free(), 0);
errno = ::WSAGetLastError(); errno = ::WSAGetLastError();
@ -697,7 +697,7 @@ restart:
// Read as many bytes as possible, up to 4k new bytes. // Read as many bytes as possible, up to 4k new bytes.
// We do not know how many bytes will arrive from the server at this // We do not know how many bytes will arrive from the server at this
// point. // point.
readBuf_.resize(readBuf_.size() + 4096); readBuf_.resize(readBuf_.size() + 4_k);
while (readBuf_.free()) { while (readBuf_.free()) {
ssize_t read = ::recv(sockfd_, readBuf_.end(), readBuf_.free(), 0); ssize_t read = ::recv(sockfd_, readBuf_.end(), readBuf_.free(), 0);
errno = ::WSAGetLastError(); errno = ::WSAGetLastError();

View File

@ -55,11 +55,11 @@ bool parseFile(const std::string& filename, ParserStateMachine* psm)
} }
auto fdclose = defer(fd, close); auto fdclose = defer(fd, close);
XmlParser ps(psm); XmlParser ps(psm);
char buf[4096]; std::array<char, 4_k> buf;
ssize_t nread; ssize_t nread;
bool retval = true; bool retval = true;
while((nread = read(fd, buf, sizeof(buf))) > 0) { while((nread = read(fd, buf.data(), buf.size())) > 0) {
if(ps.parseUpdate(buf, nread) < 0) { if(ps.parseUpdate(buf.data(), nread) < 0) {
retval = false; retval = false;
break; break;
} }

View File

@ -188,6 +188,23 @@ make_unique(size_t size)
return std::unique_ptr<T>(new typename std::remove_extent<T>::type[size]()); return std::unique_ptr<T>(new typename std::remove_extent<T>::type[size]());
} }
// User-defined literals for K, M, and G (powers of 1024)
constexpr unsigned long long operator"" _k(unsigned long long k)
{
return k * 1024;
}
constexpr unsigned long long operator"" _m(unsigned long long m)
{
return m * 1024 * 1024;
}
constexpr unsigned long long operator"" _g(unsigned long long g)
{
return g * 1024 * 1024 * 1024;
}
constexpr std::chrono::hours operator"" _h(unsigned long long h) constexpr std::chrono::hours operator"" _h(unsigned long long h)
{ {
return std::chrono::hours(h); return std::chrono::hours(h);

View File

@ -53,25 +53,24 @@ std::string digest
const std::shared_ptr<BinaryStream>& bs, const std::shared_ptr<BinaryStream>& bs,
int64_t offset, int64_t length) int64_t offset, int64_t length)
{ {
size_t BUFSIZE = 4096; std::array<unsigned char, 4_k> buf;
unsigned char BUF[BUFSIZE]; lldiv_t res = lldiv(length, buf.size());
lldiv_t res = lldiv(length, BUFSIZE);
int64_t iteration = res.quot; int64_t iteration = res.quot;
size_t tail = res.rem; size_t tail = res.rem;
for(int64_t i = 0; i < iteration; ++i) { for(int64_t i = 0; i < iteration; ++i) {
ssize_t readLength = bs->readData(BUF, BUFSIZE, offset); ssize_t readLength = bs->readData(buf.data(), buf.size(), offset);
if((size_t)readLength != BUFSIZE) { if((size_t)readLength != buf.size()) {
throw DL_ABORT_EX(fmt(EX_FILE_READ, "n/a", "data is too short")); throw DL_ABORT_EX(fmt(EX_FILE_READ, "n/a", "data is too short"));
} }
ctx->update(BUF, readLength); ctx->update(buf.data(), readLength);
offset += readLength; offset += readLength;
} }
if(tail) { if(tail) {
ssize_t readLength = bs->readData(BUF, tail, offset); ssize_t readLength = bs->readData(buf.data(), tail, offset);
if((size_t)readLength != tail) { if((size_t)readLength != tail) {
throw DL_ABORT_EX(fmt(EX_FILE_READ, "n/a", "data is too short")); throw DL_ABORT_EX(fmt(EX_FILE_READ, "n/a", "data is too short"));
} }
ctx->update(BUF, readLength); ctx->update(buf.data(), readLength);
} }
return ctx->digest(); return ctx->digest();
} }

View File

@ -42,6 +42,7 @@
#include "DlAbortEx.h" #include "DlAbortEx.h"
#include "BinaryStream.h" #include "BinaryStream.h"
#include "MetalinkMetaurl.h" #include "MetalinkMetaurl.h"
#include "a2functional.h"
namespace aria2 { namespace aria2 {
@ -131,12 +132,12 @@ std::unique_ptr<Metalinker> parseBinaryStream
MetalinkParserStateMachine psm; MetalinkParserStateMachine psm;
psm.setBaseUri(baseUri); psm.setBaseUri(baseUri);
xml::XmlParser ps(&psm); xml::XmlParser ps(&psm);
unsigned char buf[4096]; std::array<unsigned char, 4_k> buf;
ssize_t nread; ssize_t nread;
int64_t offread = 0; int64_t offread = 0;
bool retval = true; bool retval = true;
while((nread = bs->readData(buf, sizeof(buf), offread)) > 0) { while((nread = bs->readData(buf.data(), buf.size(), offread)) > 0) {
if(ps.parseUpdate(reinterpret_cast<const char*>(buf), nread) < 0) { if(ps.parseUpdate(reinterpret_cast<const char*>(buf.data()), nread) < 0) {
retval = false; retval = false;
break; break;
} }

View File

@ -1132,11 +1132,11 @@ ssize_t parse_content_disposition(char *dest, size_t destlen,
std::string getContentDispositionFilename(const std::string& header) std::string getContentDispositionFilename(const std::string& header)
{ {
char cdval[1024]; std::array<char, 1_k> cdval;
size_t cdvallen = sizeof(cdval); size_t cdvallen = cdval.size();
const char* charset; const char* charset;
size_t charsetlen; size_t charsetlen;
ssize_t rv = parse_content_disposition(cdval, cdvallen, ssize_t rv = parse_content_disposition(cdval.data(), cdvallen,
&charset, &charsetlen, &charset, &charsetlen,
header.c_str(), header.size()); header.c_str(), header.size());
if(rv == -1) { if(rv == -1) {
@ -1145,9 +1145,9 @@ std::string getContentDispositionFilename(const std::string& header)
std::string res; std::string res;
if(!charset || strieq(charset, charset+charsetlen, "iso-8859-1")) { if(!charset || strieq(charset, charset+charsetlen, "iso-8859-1")) {
res = iso8859p1ToUtf8(cdval, rv); res = iso8859p1ToUtf8(cdval.data(), rv);
} else { } else {
res.assign(cdval, rv); res.assign(cdval.data(), rv);
} }
if(!detectDirTraversal(res) && if(!detectDirTraversal(res) &&
res.find_first_of("/\\") == std::string::npos) { res.find_first_of("/\\") == std::string::npos) {
@ -1378,11 +1378,11 @@ int64_t getRealSize(const std::string& sizeWithUnit)
switch(sizeWithUnit[p]) { switch(sizeWithUnit[p]) {
case 'K': case 'K':
case 'k': case 'k':
mult = 1024; mult = 1_k;
break; break;
case 'M': case 'M':
case 'm': case 'm':
mult = 1024*1024; mult = 1_m;
break; break;
} }
size.assign(sizeWithUnit.begin(), sizeWithUnit.begin()+p); size.assign(sizeWithUnit.begin(), sizeWithUnit.begin()+p);
@ -1405,8 +1405,8 @@ std::string abbrevSize(int64_t size)
int64_t t = size; int64_t t = size;
size_t uidx = 0; size_t uidx = 0;
int r = 0; int r = 0;
while(t >= 1024 && uidx+1 < sizeof(UNITS)/sizeof(UNITS[0])) { while(t >= 1_k && uidx+1 < sizeof(UNITS)/sizeof(UNITS[0])) {
lldiv_t d = lldiv(t, 1024); lldiv_t d = lldiv(t, 1_k);
t = d.quot; t = d.quot;
r = d.rem; r = d.rem;
++uidx; ++uidx;
@ -1420,7 +1420,7 @@ std::string abbrevSize(int64_t size)
res += itos(t, true); res += itos(t, true);
if(t < 10 && uidx > 0) { if(t < 10 && uidx > 0) {
res += "."; res += ".";
res += itos(r*10/1024); res += itos(r * 10 / 1_k);
} }
res += UNITS[uidx]; res += UNITS[uidx];
return res; return res;

View File

@ -78,19 +78,19 @@ public:
CPPUNIT_TEST_SUITE_REGISTRATION( BitfieldManTest ); CPPUNIT_TEST_SUITE_REGISTRATION( BitfieldManTest );
void BitfieldManTest::testGetBlockSize() { void BitfieldManTest::testGetBlockSize() {
BitfieldMan bt1(1024, 1024*10); BitfieldMan bt1(1_k, 10_k);
CPPUNIT_ASSERT_EQUAL(1024, bt1.getBlockLength(9)); CPPUNIT_ASSERT_EQUAL((int32_t)1_k, bt1.getBlockLength(9));
BitfieldMan bt2(1024, 1024*10+1); BitfieldMan bt2(1_k, 10_k + 1);
CPPUNIT_ASSERT_EQUAL(1024, bt2.getBlockLength(9)); CPPUNIT_ASSERT_EQUAL((int32_t)1_k, bt2.getBlockLength(9));
CPPUNIT_ASSERT_EQUAL(1, bt2.getBlockLength(10)); CPPUNIT_ASSERT_EQUAL((int32_t)1, bt2.getBlockLength(10));
CPPUNIT_ASSERT_EQUAL(0, bt2.getBlockLength(11)); CPPUNIT_ASSERT_EQUAL((int32_t)0, bt2.getBlockLength(11));
} }
void BitfieldManTest::testGetFirstMissingUnusedIndex() void BitfieldManTest::testGetFirstMissingUnusedIndex()
{ {
{ {
BitfieldMan bt1(1024, 1024*10); BitfieldMan bt1(1_k, 10_k);
{ {
size_t index; size_t index;
CPPUNIT_ASSERT(bt1.getFirstMissingUnusedIndex(index)); CPPUNIT_ASSERT(bt1.getFirstMissingUnusedIndex(index));
@ -116,9 +116,9 @@ void BitfieldManTest::testGetFirstMissingUnusedIndex()
} }
} }
{ {
BitfieldMan bt1(1024, 1024*10); BitfieldMan bt1(1_k, 10_k);
bt1.addFilter(1024, 1024*10); bt1.addFilter(1_k, 10_k);
bt1.enableFilter(); bt1.enableFilter();
{ {
size_t index; size_t index;
@ -143,7 +143,7 @@ void BitfieldManTest::testGetFirstMissingUnusedIndex()
void BitfieldManTest::testGetFirstMissingIndex() void BitfieldManTest::testGetFirstMissingIndex()
{ {
{ {
BitfieldMan bt1(1024, 1024*10); BitfieldMan bt1(1_k, 10_k);
{ {
size_t index; size_t index;
CPPUNIT_ASSERT(bt1.getFirstMissingIndex(index)); CPPUNIT_ASSERT(bt1.getFirstMissingIndex(index));
@ -169,9 +169,9 @@ void BitfieldManTest::testGetFirstMissingIndex()
} }
} }
{ {
BitfieldMan bt1(1024, 1024*10); BitfieldMan bt1(1_k, 10_k);
bt1.addFilter(1024, 1024*10); bt1.addFilter(1_k, 10_k);
bt1.enableFilter(); bt1.enableFilter();
{ {
size_t index; size_t index;
@ -194,7 +194,7 @@ void BitfieldManTest::testGetFirstMissingIndex()
} }
void BitfieldManTest::testIsAllBitSet() { void BitfieldManTest::testIsAllBitSet() {
BitfieldMan bt1(1024, 1024*10); BitfieldMan bt1(1_k, 10_k);
CPPUNIT_ASSERT(!bt1.isAllBitSet()); CPPUNIT_ASSERT(!bt1.isAllBitSet());
bt1.setBit(1); bt1.setBit(1);
CPPUNIT_ASSERT(!bt1.isAllBitSet()); CPPUNIT_ASSERT(!bt1.isAllBitSet());
@ -209,7 +209,7 @@ void BitfieldManTest::testIsAllBitSet() {
} }
CPPUNIT_ASSERT(bt1.isAllBitSet()); CPPUNIT_ASSERT(bt1.isAllBitSet());
BitfieldMan btzero(1024, 0); BitfieldMan btzero(1_k, 0);
CPPUNIT_ASSERT(btzero.isAllBitSet()); CPPUNIT_ASSERT(btzero.isAllBitSet());
} }
@ -261,8 +261,8 @@ void BitfieldManTest::testIsFilterBitSet()
void BitfieldManTest::testAddFilter_zeroLength() void BitfieldManTest::testAddFilter_zeroLength()
{ {
BitfieldMan bits(1024, 1024*1024); BitfieldMan bits(1_k, 1_m);
bits.addFilter(2048, 0); bits.addFilter(2_k, 0);
bits.enableFilter(); bits.enableFilter();
CPPUNIT_ASSERT_EQUAL((size_t)0, bits.countMissingBlock()); CPPUNIT_ASSERT_EQUAL((size_t)0, bits.countMissingBlock());
CPPUNIT_ASSERT(bits.isFilteredAllBitSet()); CPPUNIT_ASSERT(bits.isFilteredAllBitSet());
@ -299,11 +299,11 @@ void BitfieldManTest::testAddNotFilter_overflow() {
// TODO1.5 add test using ignoreBitfield // TODO1.5 add test using ignoreBitfield
void BitfieldManTest::testGetSparseMissingUnusedIndex() { void BitfieldManTest::testGetSparseMissingUnusedIndex() {
BitfieldMan bitfield(1024*1024, 10*1024*1024); BitfieldMan bitfield(1_m, 10_m);
const size_t length = 2; const size_t length = 2;
unsigned char ignoreBitfield[length]; unsigned char ignoreBitfield[length];
memset(ignoreBitfield, 0, sizeof(ignoreBitfield)); memset(ignoreBitfield, 0, sizeof(ignoreBitfield));
size_t minSplitSize = 1024*1024; size_t minSplitSize = 1_m;
size_t index; size_t index;
CPPUNIT_ASSERT(bitfield.getSparseMissingUnusedIndex(index, minSplitSize, CPPUNIT_ASSERT(bitfield.getSparseMissingUnusedIndex(index, minSplitSize,
ignoreBitfield, length)); ignoreBitfield, length));
@ -350,11 +350,11 @@ void BitfieldManTest::testGetSparseMissingUnusedIndex() {
} }
void BitfieldManTest::testGetSparseMissingUnusedIndex_setBit() { void BitfieldManTest::testGetSparseMissingUnusedIndex_setBit() {
BitfieldMan bitfield(1024*1024, 10*1024*1024); BitfieldMan bitfield(1_m, 10_m);
const size_t length = 2; const size_t length = 2;
unsigned char ignoreBitfield[length]; unsigned char ignoreBitfield[length];
memset(ignoreBitfield, 0, sizeof(ignoreBitfield)); memset(ignoreBitfield, 0, sizeof(ignoreBitfield));
size_t minSplitSize = 1024*1024; size_t minSplitSize = 1_m;
size_t index; size_t index;
CPPUNIT_ASSERT(bitfield.getSparseMissingUnusedIndex(index, minSplitSize, CPPUNIT_ASSERT(bitfield.getSparseMissingUnusedIndex(index, minSplitSize,
ignoreBitfield, length)); ignoreBitfield, length));
@ -402,11 +402,11 @@ void BitfieldManTest::testGetSparseMissingUnusedIndex_setBit() {
void BitfieldManTest::testGetSparseMissingUnusedIndex_withMinSplitSize() void BitfieldManTest::testGetSparseMissingUnusedIndex_withMinSplitSize()
{ {
BitfieldMan bitfield(1024*1024, 10*1024*1024); BitfieldMan bitfield(1_m, 10_m);
const size_t length = 2; const size_t length = 2;
unsigned char ignoreBitfield[length]; unsigned char ignoreBitfield[length];
memset(ignoreBitfield, 0, sizeof(ignoreBitfield)); memset(ignoreBitfield, 0, sizeof(ignoreBitfield));
size_t minSplitSize = 2*1024*1024; size_t minSplitSize = 2_m;
size_t index; size_t index;
bitfield.setUseBit(1); bitfield.setUseBit(1);
CPPUNIT_ASSERT(bitfield.getSparseMissingUnusedIndex(index, minSplitSize, CPPUNIT_ASSERT(bitfield.getSparseMissingUnusedIndex(index, minSplitSize,
@ -435,8 +435,8 @@ void BitfieldManTest::testGetSparseMissingUnusedIndex_withMinSplitSize()
void BitfieldManTest::testIsBitSetOffsetRange() void BitfieldManTest::testIsBitSetOffsetRange()
{ {
int64_t totalLength = 4ULL*1024*1024*1024; int64_t totalLength = 4_g;
int32_t pieceLength = 4*1024*1024; int32_t pieceLength = 4_m;
BitfieldMan bitfield(pieceLength, totalLength); BitfieldMan bitfield(pieceLength, totalLength);
bitfield.setAllBit(); bitfield.setAllBit();
@ -466,9 +466,9 @@ void BitfieldManTest::testIsBitSetOffsetRange()
void BitfieldManTest::testGetOffsetCompletedLength() void BitfieldManTest::testGetOffsetCompletedLength()
{ {
BitfieldMan bt(1024, 1024*20); BitfieldMan bt(1_k, 20_k);
// 00000|00000|00000|00000 // 00000|00000|00000|00000
CPPUNIT_ASSERT_EQUAL((int64_t)0, bt.getOffsetCompletedLength(0, 1024)); CPPUNIT_ASSERT_EQUAL((int64_t)0, bt.getOffsetCompletedLength(0, 1_k));
CPPUNIT_ASSERT_EQUAL((int64_t)0, bt.getOffsetCompletedLength(0, 0)); CPPUNIT_ASSERT_EQUAL((int64_t)0, bt.getOffsetCompletedLength(0, 0));
for(size_t i = 2; i <= 4; ++i) { for(size_t i = 2; i <= 4; ++i) {
bt.setBit(i); bt.setBit(i);
@ -480,10 +480,10 @@ void BitfieldManTest::testGetOffsetCompletedLength()
CPPUNIT_ASSERT_EQUAL((int64_t)0, bt.getOffsetCompletedLength(2048, 0)); CPPUNIT_ASSERT_EQUAL((int64_t)0, bt.getOffsetCompletedLength(2048, 0));
CPPUNIT_ASSERT_EQUAL((int64_t)1, bt.getOffsetCompletedLength(2048, 1)); CPPUNIT_ASSERT_EQUAL((int64_t)1, bt.getOffsetCompletedLength(2048, 1));
CPPUNIT_ASSERT_EQUAL((int64_t)0, bt.getOffsetCompletedLength(2047, 1)); CPPUNIT_ASSERT_EQUAL((int64_t)0, bt.getOffsetCompletedLength(2047, 1));
CPPUNIT_ASSERT_EQUAL((int64_t)3072, bt.getOffsetCompletedLength(0, 1024*20)); CPPUNIT_ASSERT_EQUAL((int64_t)3072, bt.getOffsetCompletedLength(0, 20_k));
CPPUNIT_ASSERT_EQUAL((int64_t)3072, CPPUNIT_ASSERT_EQUAL((int64_t)3072,
bt.getOffsetCompletedLength(0, 1024*20+10)); bt.getOffsetCompletedLength(0, 20_k + 10));
CPPUNIT_ASSERT_EQUAL((int64_t)0, bt.getOffsetCompletedLength(1024*20, 1)); CPPUNIT_ASSERT_EQUAL((int64_t)0, bt.getOffsetCompletedLength(20_k, 1));
} }
void BitfieldManTest::testGetOffsetCompletedLength_largeFile() void BitfieldManTest::testGetOffsetCompletedLength_largeFile()
@ -508,8 +508,8 @@ void BitfieldManTest::testGetOffsetCompletedLength_largeFile()
void BitfieldManTest::testGetMissingUnusedLength() void BitfieldManTest::testGetMissingUnusedLength()
{ {
int64_t totalLength = 1024*10+10; int64_t totalLength = 10_k + 10;
size_t blockLength = 1024; size_t blockLength = 1_k;
BitfieldMan bf(blockLength, totalLength); BitfieldMan bf(blockLength, totalLength);
@ -539,7 +539,7 @@ void BitfieldManTest::testGetMissingUnusedLength()
void BitfieldManTest::testSetBitRange() void BitfieldManTest::testSetBitRange()
{ {
size_t blockLength = 1024*1024; size_t blockLength = 1_m;
int64_t totalLength = 10*blockLength; int64_t totalLength = 10*blockLength;
BitfieldMan bf(blockLength, totalLength); BitfieldMan bf(blockLength, totalLength);
@ -557,8 +557,8 @@ void BitfieldManTest::testSetBitRange()
void BitfieldManTest::testGetAllMissingIndexes_noarg() void BitfieldManTest::testGetAllMissingIndexes_noarg()
{ {
size_t blockLength = 16*1024; size_t blockLength = 16_k;
int64_t totalLength = 1024*1024; int64_t totalLength = 1_m;
size_t nbits = (totalLength+blockLength-1)/blockLength; size_t nbits = (totalLength+blockLength-1)/blockLength;
BitfieldMan bf(blockLength, totalLength); BitfieldMan bf(blockLength, totalLength);
unsigned char misbitfield[8]; unsigned char misbitfield[8];
@ -576,7 +576,7 @@ void BitfieldManTest::testGetAllMissingIndexes_noarg()
// See garbage bits of last byte are 0 // See garbage bits of last byte are 0
void BitfieldManTest::testGetAllMissingIndexes_checkLastByte() void BitfieldManTest::testGetAllMissingIndexes_checkLastByte()
{ {
size_t blockLength = 16*1024; size_t blockLength = 16_k;
int64_t totalLength = blockLength*2; int64_t totalLength = blockLength*2;
size_t nbits = (totalLength+blockLength-1)/blockLength; size_t nbits = (totalLength+blockLength-1)/blockLength;
BitfieldMan bf(blockLength, totalLength); BitfieldMan bf(blockLength, totalLength);
@ -589,8 +589,8 @@ void BitfieldManTest::testGetAllMissingIndexes_checkLastByte()
void BitfieldManTest::testGetAllMissingIndexes() void BitfieldManTest::testGetAllMissingIndexes()
{ {
size_t blockLength = 16*1024; size_t blockLength = 16_k;
int64_t totalLength = 1024*1024; int64_t totalLength = 1_m;
size_t nbits = (totalLength+blockLength-1)/blockLength; size_t nbits = (totalLength+blockLength-1)/blockLength;
BitfieldMan bf(blockLength, totalLength); BitfieldMan bf(blockLength, totalLength);
BitfieldMan peerBf(blockLength, totalLength); BitfieldMan peerBf(blockLength, totalLength);
@ -615,8 +615,8 @@ void BitfieldManTest::testGetAllMissingIndexes()
void BitfieldManTest::testGetAllMissingUnusedIndexes() void BitfieldManTest::testGetAllMissingUnusedIndexes()
{ {
size_t blockLength = 16*1024; size_t blockLength = 16_k;
int64_t totalLength = 1024*1024; int64_t totalLength = 1_m;
size_t nbits = (totalLength+blockLength-1)/blockLength; size_t nbits = (totalLength+blockLength-1)/blockLength;
BitfieldMan bf(blockLength, totalLength); BitfieldMan bf(blockLength, totalLength);
BitfieldMan peerBf(blockLength, totalLength); BitfieldMan peerBf(blockLength, totalLength);
@ -644,10 +644,10 @@ void BitfieldManTest::testGetAllMissingUnusedIndexes()
void BitfieldManTest::testCountFilteredBlock() void BitfieldManTest::testCountFilteredBlock()
{ {
BitfieldMan bt(1024, 1024*256); BitfieldMan bt(1_k, 256_k);
CPPUNIT_ASSERT_EQUAL((size_t)256, bt.countBlock()); CPPUNIT_ASSERT_EQUAL((size_t)256, bt.countBlock());
CPPUNIT_ASSERT_EQUAL((size_t)0, bt.countFilteredBlock()); CPPUNIT_ASSERT_EQUAL((size_t)0, bt.countFilteredBlock());
bt.addFilter(1024, 1024*256); bt.addFilter(1_k, 256_k);
bt.enableFilter(); bt.enableFilter();
CPPUNIT_ASSERT_EQUAL((size_t)256, bt.countBlock()); CPPUNIT_ASSERT_EQUAL((size_t)256, bt.countBlock());
CPPUNIT_ASSERT_EQUAL((size_t)255, bt.countFilteredBlock()); CPPUNIT_ASSERT_EQUAL((size_t)255, bt.countFilteredBlock());
@ -658,7 +658,7 @@ void BitfieldManTest::testCountFilteredBlock()
void BitfieldManTest::testCountMissingBlock() void BitfieldManTest::testCountMissingBlock()
{ {
BitfieldMan bt(1024, 1024*10); BitfieldMan bt(1_k, 10_k);
CPPUNIT_ASSERT_EQUAL((size_t)10, bt.countMissingBlock()); CPPUNIT_ASSERT_EQUAL((size_t)10, bt.countMissingBlock());
bt.setBit(1); bt.setBit(1);
CPPUNIT_ASSERT_EQUAL((size_t)9, bt.countMissingBlock()); CPPUNIT_ASSERT_EQUAL((size_t)9, bt.countMissingBlock());
@ -668,14 +668,14 @@ void BitfieldManTest::testCountMissingBlock()
void BitfieldManTest::testZeroLengthFilter() void BitfieldManTest::testZeroLengthFilter()
{ {
BitfieldMan bt(1024, 1024*10); BitfieldMan bt(1_k, 10_k);
bt.enableFilter(); bt.enableFilter();
CPPUNIT_ASSERT_EQUAL((size_t)0, bt.countMissingBlock()); CPPUNIT_ASSERT_EQUAL((size_t)0, bt.countMissingBlock());
} }
void BitfieldManTest::testGetFirstNMissingUnusedIndex() void BitfieldManTest::testGetFirstNMissingUnusedIndex()
{ {
BitfieldMan bt(1024, 1024*10); BitfieldMan bt(1_k, 10_k);
bt.setUseBit(1); bt.setUseBit(1);
bt.setBit(5); bt.setBit(5);
std::vector<size_t> out; std::vector<size_t> out;
@ -696,7 +696,7 @@ void BitfieldManTest::testGetFirstNMissingUnusedIndex()
CPPUNIT_ASSERT_EQUAL((size_t)0, bt.getFirstNMissingUnusedIndex(out, 10)); CPPUNIT_ASSERT_EQUAL((size_t)0, bt.getFirstNMissingUnusedIndex(out, 10));
bt.clearAllBit(); bt.clearAllBit();
out.clear(); out.clear();
bt.addFilter(1024*9, 1024); bt.addFilter(9_k, 1_k);
bt.enableFilter(); bt.enableFilter();
CPPUNIT_ASSERT_EQUAL((size_t)1, bt.getFirstNMissingUnusedIndex(out, 256)); CPPUNIT_ASSERT_EQUAL((size_t)1, bt.getFirstNMissingUnusedIndex(out, 256));
CPPUNIT_ASSERT_EQUAL((size_t)1, out.size()); CPPUNIT_ASSERT_EQUAL((size_t)1, out.size());
@ -705,11 +705,11 @@ void BitfieldManTest::testGetFirstNMissingUnusedIndex()
void BitfieldManTest::testGetInorderMissingUnusedIndex() void BitfieldManTest::testGetInorderMissingUnusedIndex()
{ {
BitfieldMan bt(1024, 1024*20); BitfieldMan bt(1_k, 20_k);
const size_t length = 3; const size_t length = 3;
unsigned char ignoreBitfield[length]; unsigned char ignoreBitfield[length];
memset(ignoreBitfield, 0, sizeof(ignoreBitfield)); memset(ignoreBitfield, 0, sizeof(ignoreBitfield));
size_t minSplitSize = 1024; size_t minSplitSize = 1_k;
size_t index; size_t index;
// 00000|00000|00000|00000 // 00000|00000|00000|00000
CPPUNIT_ASSERT CPPUNIT_ASSERT
@ -722,7 +722,7 @@ void BitfieldManTest::testGetInorderMissingUnusedIndex()
(bt.getInorderMissingUnusedIndex (bt.getInorderMissingUnusedIndex
(index, minSplitSize, ignoreBitfield, length)); (index, minSplitSize, ignoreBitfield, length));
CPPUNIT_ASSERT_EQUAL((size_t)1, index); CPPUNIT_ASSERT_EQUAL((size_t)1, index);
minSplitSize = 1024*2; minSplitSize = 2_k;
CPPUNIT_ASSERT CPPUNIT_ASSERT
(bt.getInorderMissingUnusedIndex (bt.getInorderMissingUnusedIndex
(index, minSplitSize, ignoreBitfield, length)); (index, minSplitSize, ignoreBitfield, length));
@ -759,7 +759,7 @@ void BitfieldManTest::testGetInorderMissingUnusedIndex()
(bt.getInorderMissingUnusedIndex (bt.getInorderMissingUnusedIndex
(index, minSplitSize, ignoreBitfield, length)); (index, minSplitSize, ignoreBitfield, length));
CPPUNIT_ASSERT_EQUAL((size_t)2, index); CPPUNIT_ASSERT_EQUAL((size_t)2, index);
bt.addFilter(1024*3, 1024*3); bt.addFilter(3_k, 3_k);
bt.enableFilter(); bt.enableFilter();
CPPUNIT_ASSERT CPPUNIT_ASSERT
(bt.getInorderMissingUnusedIndex (bt.getInorderMissingUnusedIndex
@ -769,11 +769,11 @@ void BitfieldManTest::testGetInorderMissingUnusedIndex()
void BitfieldManTest::testGetGeomMissingUnusedIndex() void BitfieldManTest::testGetGeomMissingUnusedIndex()
{ {
BitfieldMan bt(1024, 1024*20); BitfieldMan bt(1_k, 20_k);
const size_t length = 3; const size_t length = 3;
unsigned char ignoreBitfield[length]; unsigned char ignoreBitfield[length];
memset(ignoreBitfield, 0, sizeof(ignoreBitfield)); memset(ignoreBitfield, 0, sizeof(ignoreBitfield));
size_t minSplitSize = 1024; size_t minSplitSize = 1_k;
size_t index; size_t index;
// 00000|00000|00000|00000 // 00000|00000|00000|00000
CPPUNIT_ASSERT CPPUNIT_ASSERT

View File

@ -417,13 +417,13 @@ void BittorrentHelperTest::testLoadFromMemory_multiFileNonUtf8Path()
path->append("path"); path->append("path");
path->append(fromHex("90a28a")+"E"); path->append(fromHex("90a28a")+"E");
auto file = Dict::g(); auto file = Dict::g();
file->put("length", Integer::g(1024)); file->put("length", Integer::g(1_k));
file->put("path", std::move(path)); file->put("path", std::move(path));
auto files = List::g(); auto files = List::g();
files->append(std::move(file)); files->append(std::move(file));
auto info = Dict::g(); auto info = Dict::g();
info->put("files", std::move(files)); info->put("files", std::move(files));
info->put("piece length", Integer::g(1024)); info->put("piece length", Integer::g(1_k));
info->put("pieces", "01234567890123456789"); info->put("pieces", "01234567890123456789");
info->put("name", fromHex("1b")+"$B%O%m!<"+fromHex("1b")+"(B"); info->put("name", fromHex("1b")+"$B%O%m!<"+fromHex("1b")+"(B");
Dict dict; Dict dict;
@ -445,10 +445,10 @@ void BittorrentHelperTest::testLoadFromMemory_multiFileNonUtf8Path()
void BittorrentHelperTest::testLoadFromMemory_singleFileNonUtf8Path() void BittorrentHelperTest::testLoadFromMemory_singleFileNonUtf8Path()
{ {
auto info = Dict::g(); auto info = Dict::g();
info->put("piece length", Integer::g(1024)); info->put("piece length", Integer::g(1_k));
info->put("pieces", "01234567890123456789"); info->put("pieces", "01234567890123456789");
info->put("name", fromHex("90a28a")+"E"); info->put("name", fromHex("90a28a")+"E");
info->put("length", Integer::g(1024)); info->put("length", Integer::g(1_k));
Dict dict; Dict dict;
dict.put("info", std::move(info)); dict.put("info", std::move(info));
auto dctx = std::make_shared<DownloadContext>(); auto dctx = std::make_shared<DownloadContext>();

View File

@ -77,7 +77,7 @@ void BtAllowedFastMessageTest::testDoReceivedAction() {
BtAllowedFastMessage msg; BtAllowedFastMessage msg;
msg.setIndex(1); msg.setIndex(1);
std::shared_ptr<Peer> peer(new Peer("localhost", 6969)); std::shared_ptr<Peer> peer(new Peer("localhost", 6969));
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
peer->setFastExtensionEnabled(true); peer->setFastExtensionEnabled(true);
msg.setPeer(peer); msg.setPeer(peer);
CPPUNIT_ASSERT(!peer->isInPeerAllowedIndexSet(1)); CPPUNIT_ASSERT(!peer->isInPeerAllowedIndexSet(1));
@ -95,7 +95,7 @@ void BtAllowedFastMessageTest::testOnSendComplete() {
BtAllowedFastMessage msg; BtAllowedFastMessage msg;
msg.setIndex(1); msg.setIndex(1);
std::shared_ptr<Peer> peer(new Peer("localhost", 6969)); std::shared_ptr<Peer> peer(new Peer("localhost", 6969));
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
peer->setFastExtensionEnabled(true); peer->setFastExtensionEnabled(true);
msg.setPeer(peer); msg.setPeer(peer);
CPPUNIT_ASSERT(!peer->isInAmAllowedIndexSet(1)); CPPUNIT_ASSERT(!peer->isInAmAllowedIndexSet(1));

View File

@ -82,7 +82,7 @@ void BtBitfieldMessageTest::testCreateMessage() {
void BtBitfieldMessageTest::testDoReceivedAction() { void BtBitfieldMessageTest::testDoReceivedAction() {
std::shared_ptr<Peer> peer(new Peer("host1", 6969)); std::shared_ptr<Peer> peer(new Peer("host1", 6969));
peer->allocateSessionResource(16*1024, 16*16*1024); peer->allocateSessionResource(16_k, 256_k);
BtBitfieldMessage msg; BtBitfieldMessage msg;
msg.setPeer(peer); msg.setPeer(peer);
auto pieceStorage = make_unique<MockPieceStorage>(); auto pieceStorage = make_unique<MockPieceStorage>();
@ -100,7 +100,7 @@ void BtBitfieldMessageTest::testDoReceivedAction() {
void BtBitfieldMessageTest::testDoReceivedAction_goodByeSeeder() void BtBitfieldMessageTest::testDoReceivedAction_goodByeSeeder()
{ {
std::shared_ptr<Peer> peer(new Peer("ip", 6000)); std::shared_ptr<Peer> peer(new Peer("ip", 6000));
peer->allocateSessionResource(1024, 1024); peer->allocateSessionResource(1_k, 1_k);
BtBitfieldMessage msg; BtBitfieldMessage msg;
msg.setPeer(peer); msg.setPeer(peer);
auto pieceStorage = make_unique<MockPieceStorage>(); auto pieceStorage = make_unique<MockPieceStorage>();

View File

@ -57,12 +57,12 @@ void BtCancelMessageTest::testCreate() {
bittorrent::createPeerMessageString(msg, sizeof(msg), 13, 8); bittorrent::createPeerMessageString(msg, sizeof(msg), 13, 8);
bittorrent::setIntParam(&msg[5], 12345); bittorrent::setIntParam(&msg[5], 12345);
bittorrent::setIntParam(&msg[9], 256); bittorrent::setIntParam(&msg[9], 256);
bittorrent::setIntParam(&msg[13], 1024); bittorrent::setIntParam(&msg[13], 1_k);
auto pm = BtCancelMessage::create(&msg[4], 13); auto pm = BtCancelMessage::create(&msg[4], 13);
CPPUNIT_ASSERT_EQUAL((uint8_t)8, pm->getId()); CPPUNIT_ASSERT_EQUAL((uint8_t)8, pm->getId());
CPPUNIT_ASSERT_EQUAL((size_t)12345, pm->getIndex()); CPPUNIT_ASSERT_EQUAL((size_t)12345, pm->getIndex());
CPPUNIT_ASSERT_EQUAL(256, pm->getBegin()); CPPUNIT_ASSERT_EQUAL(256, pm->getBegin());
CPPUNIT_ASSERT_EQUAL(1024, pm->getLength()); CPPUNIT_ASSERT_EQUAL((int32_t)1_k, pm->getLength());
// case: payload size is wrong // case: payload size is wrong
try { try {
@ -86,12 +86,12 @@ void BtCancelMessageTest::testCreateMessage() {
BtCancelMessage msg; BtCancelMessage msg;
msg.setIndex(12345); msg.setIndex(12345);
msg.setBegin(256); msg.setBegin(256);
msg.setLength(1024); msg.setLength(1_k);
unsigned char data[17]; unsigned char data[17];
bittorrent::createPeerMessageString(data, sizeof(data), 13, 8); bittorrent::createPeerMessageString(data, sizeof(data), 13, 8);
bittorrent::setIntParam(&data[5], 12345); bittorrent::setIntParam(&data[5], 12345);
bittorrent::setIntParam(&data[9], 256); bittorrent::setIntParam(&data[9], 256);
bittorrent::setIntParam(&data[13], 1024); bittorrent::setIntParam(&data[13], 1_k);
unsigned char* rawmsg = msg.createMessage(); unsigned char* rawmsg = msg.createMessage();
CPPUNIT_ASSERT(memcmp(rawmsg, data, 17) == 0); CPPUNIT_ASSERT(memcmp(rawmsg, data, 17) == 0);
delete [] rawmsg; delete [] rawmsg;
@ -100,8 +100,8 @@ void BtCancelMessageTest::testCreateMessage() {
void BtCancelMessageTest::testDoReceivedAction() { void BtCancelMessageTest::testDoReceivedAction() {
BtCancelMessage msg; BtCancelMessage msg;
msg.setIndex(1); msg.setIndex(1);
msg.setBegin(2*16*1024); msg.setBegin(32_k);
msg.setLength(16*1024); msg.setLength(16_k);
msg.setPeer(peer); msg.setPeer(peer);
auto dispatcher = make_unique<MockBtMessageDispatcher2>(); auto dispatcher = make_unique<MockBtMessageDispatcher2>();
msg.setBtMessageDispatcher(dispatcher.get()); msg.setBtMessageDispatcher(dispatcher.get());

View File

@ -29,7 +29,7 @@ public:
void setUp() { void setUp() {
peer.reset(new Peer("host", 6969)); peer.reset(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
} }
void testCreate(); void testCreate();

View File

@ -60,7 +60,7 @@ class BtDependencyTest:public CppUnit::TestFixture {
std::shared_ptr<RequestGroup> dependee(new RequestGroup(GroupId::create(), std::shared_ptr<RequestGroup> dependee(new RequestGroup(GroupId::create(),
util::copy(option))); util::copy(option)));
std::shared_ptr<DownloadContext> dctx std::shared_ptr<DownloadContext> dctx
(new DownloadContext(1024*1024, length, torrentFile)); (new DownloadContext(1_m, length, torrentFile));
dependee->setDownloadContext(dctx); dependee->setDownloadContext(dctx);
dependee->initPieceStorage(); dependee->initPieceStorage();
return dependee; return dependee;

View File

@ -34,7 +34,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(BtExtendedMessageTest);
void BtExtendedMessageTest::testCreate() { void BtExtendedMessageTest::testCreate() {
auto peer = std::make_shared<Peer>("192.168.0.1", 6969); auto peer = std::make_shared<Peer>("192.168.0.1", 6969);
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
auto exmsgFactory = MockExtensionMessageFactory{}; auto exmsgFactory = MockExtensionMessageFactory{};
// payload:{4:name3:foo}->11bytes // payload:{4:name3:foo}->11bytes

View File

@ -71,7 +71,7 @@ void BtHaveAllMessageTest::testCreateMessage() {
void BtHaveAllMessageTest::testDoReceivedAction() { void BtHaveAllMessageTest::testDoReceivedAction() {
BtHaveAllMessage msg; BtHaveAllMessage msg;
std::shared_ptr<Peer> peer(new Peer("host", 6969)); std::shared_ptr<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(16*1024, 256*1024); peer->allocateSessionResource(16_k, 256_k);
peer->setFastExtensionEnabled(true); peer->setFastExtensionEnabled(true);
msg.setPeer(peer); msg.setPeer(peer);
auto pieceStorage = make_unique<MockPieceStorage>(); auto pieceStorage = make_unique<MockPieceStorage>();
@ -93,7 +93,7 @@ void BtHaveAllMessageTest::testDoReceivedAction_goodByeSeeder()
{ {
BtHaveAllMessage msg; BtHaveAllMessage msg;
std::shared_ptr<Peer> peer(new Peer("ip", 6000)); std::shared_ptr<Peer> peer(new Peer("ip", 6000));
peer->allocateSessionResource(1024, 1024); peer->allocateSessionResource(1_k, 1_k);
peer->setFastExtensionEnabled(true); peer->setFastExtensionEnabled(true);
msg.setPeer(peer); msg.setPeer(peer);
auto pieceStorage = make_unique<MockPieceStorage>(); auto pieceStorage = make_unique<MockPieceStorage>();

View File

@ -76,7 +76,7 @@ void BtHaveMessageTest::testCreateMessage() {
void BtHaveMessageTest::testDoReceivedAction() { void BtHaveMessageTest::testDoReceivedAction() {
std::shared_ptr<Peer> peer(new Peer("host", 6969)); std::shared_ptr<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(16*1024, 256*1024); peer->allocateSessionResource(16_k, 256_k);
BtHaveMessage msg; BtHaveMessage msg;
msg.setIndex(1); msg.setIndex(1);
msg.setPeer(peer); msg.setPeer(peer);
@ -93,7 +93,7 @@ void BtHaveMessageTest::testDoReceivedAction() {
void BtHaveMessageTest::testDoReceivedAction_goodByeSeeder() void BtHaveMessageTest::testDoReceivedAction_goodByeSeeder()
{ {
std::shared_ptr<Peer> peer(new Peer("ip", 6000)); std::shared_ptr<Peer> peer(new Peer("ip", 6000));
peer->allocateSessionResource(1024, 2*1024); peer->allocateSessionResource(1_k, 2_k);
BtHaveMessage msg; BtHaveMessage msg;
msg.setIndex(0); msg.setIndex(0);
msg.setPeer(peer); msg.setPeer(peer);

View File

@ -68,7 +68,7 @@ void BtHaveNoneMessageTest::testCreateMessage() {
void BtHaveNoneMessageTest::testDoReceivedAction() { void BtHaveNoneMessageTest::testDoReceivedAction() {
BtHaveNoneMessage msg; BtHaveNoneMessage msg;
std::shared_ptr<Peer> peer(new Peer("host", 6969)); std::shared_ptr<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
peer->setFastExtensionEnabled(true); peer->setFastExtensionEnabled(true);
msg.setPeer(peer); msg.setPeer(peer);
msg.doReceivedAction(); msg.doReceivedAction();

View File

@ -68,7 +68,7 @@ void BtInterestedMessageTest::testCreateMessage() {
void BtInterestedMessageTest::testDoReceivedAction() { void BtInterestedMessageTest::testDoReceivedAction() {
BtInterestedMessage msg; BtInterestedMessage msg;
std::shared_ptr<Peer> peer(new Peer("host", 6969)); std::shared_ptr<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
msg.setPeer(peer); msg.setPeer(peer);
auto peerStorage = make_unique<MockPeerStorage>(); auto peerStorage = make_unique<MockPeerStorage>();
@ -88,7 +88,7 @@ void BtInterestedMessageTest::testDoReceivedAction() {
void BtInterestedMessageTest::testOnSendComplete() { void BtInterestedMessageTest::testOnSendComplete() {
BtInterestedMessage msg; BtInterestedMessage msg;
std::shared_ptr<Peer> peer(new Peer("host", 6969)); std::shared_ptr<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
msg.setPeer(peer); msg.setPeer(peer);
CPPUNIT_ASSERT(!peer->amInterested()); CPPUNIT_ASSERT(!peer->amInterested());
std::shared_ptr<ProgressUpdate> pu(msg.getProgressUpdate()); std::shared_ptr<ProgressUpdate> pu(msg.getProgressUpdate());

View File

@ -67,7 +67,7 @@ void BtNotInterestedMessageTest::testCreateMessage() {
void BtNotInterestedMessageTest::testDoReceivedAction() { void BtNotInterestedMessageTest::testDoReceivedAction() {
std::shared_ptr<Peer> peer(new Peer("host", 6969)); std::shared_ptr<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
peer->peerInterested(true); peer->peerInterested(true);
auto peerStorage = make_unique<MockPeerStorage>(); auto peerStorage = make_unique<MockPeerStorage>();
@ -88,7 +88,7 @@ void BtNotInterestedMessageTest::testDoReceivedAction() {
void BtNotInterestedMessageTest::testOnSendComplete() { void BtNotInterestedMessageTest::testOnSendComplete() {
std::shared_ptr<Peer> peer(new Peer("host", 6969)); std::shared_ptr<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
peer->amInterested(true); peer->amInterested(true);
BtNotInterestedMessage msg; BtNotInterestedMessage msg;
msg.setPeer(peer); msg.setPeer(peer);

View File

@ -66,7 +66,7 @@ public:
std::unique_ptr<BtPieceMessage> msg; std::unique_ptr<BtPieceMessage> msg;
void setUp() { void setUp() {
dctx_ = make_unique<DownloadContext>(16*1024, 256*1024, "/path/to/file"); dctx_ = make_unique<DownloadContext>(16_k, 256_k, "/path/to/file");
peer = std::make_shared<Peer>("host", 6969); peer = std::make_shared<Peer>("host", 6969);
peer->allocateSessionResource(dctx_->getPieceLength(), peer->allocateSessionResource(dctx_->getPieceLength(),
@ -77,8 +77,8 @@ public:
msg = make_unique<BtPieceMessage>(); msg = make_unique<BtPieceMessage>();
msg->setIndex(1); msg->setIndex(1);
msg->setBegin(1024); msg->setBegin(1_k);
msg->setBlockLength(16*1024); msg->setBlockLength(16_k);
msg->setDownloadContext(dctx_.get()); msg->setDownloadContext(dctx_.get());
msg->setPeer(peer); msg->setPeer(peer);
msg->setBtMessageDispatcher(btMessageDispatcher.get()); msg->setBtMessageDispatcher(btMessageDispatcher.get());
@ -125,9 +125,9 @@ void BtPieceMessageTest::testCreateMessageHeader() {
BtPieceMessage msg; BtPieceMessage msg;
msg.setIndex(12345); msg.setIndex(12345);
msg.setBegin(256); msg.setBegin(256);
msg.setBlockLength(1024); msg.setBlockLength(1_k);
unsigned char data[13]; unsigned char data[13];
bittorrent::createPeerMessageString(data, sizeof(data), 9+1024, 7); bittorrent::createPeerMessageString(data, sizeof(data), 9+1_k, 7);
bittorrent::setIntParam(&data[5], 12345); bittorrent::setIntParam(&data[5], 12345);
bittorrent::setIntParam(&data[9], 256); bittorrent::setIntParam(&data[9], 256);
unsigned char rawmsg[13]; unsigned char rawmsg[13];
@ -160,8 +160,8 @@ void BtPieceMessageTest::testChokingEvent_allowedFastEnabled() {
auto rej = static_cast<const BtRejectMessage*> auto rej = static_cast<const BtRejectMessage*>
(btMessageDispatcher->messageQueue.front().get()); (btMessageDispatcher->messageQueue.front().get());
CPPUNIT_ASSERT_EQUAL((size_t)1, rej->getIndex()); CPPUNIT_ASSERT_EQUAL((size_t)1, rej->getIndex());
CPPUNIT_ASSERT_EQUAL((int32_t)1024, rej->getBegin()); CPPUNIT_ASSERT_EQUAL((int32_t)1_k, rej->getBegin());
CPPUNIT_ASSERT_EQUAL((int32_t)16*1024, rej->getLength()); CPPUNIT_ASSERT_EQUAL((int32_t)16_k, rej->getLength());
} }
void BtPieceMessageTest::testChokingEvent_inAmAllowedIndexSet() { void BtPieceMessageTest::testChokingEvent_inAmAllowedIndexSet() {
@ -194,7 +194,7 @@ void BtPieceMessageTest::testCancelSendingPieceEvent() {
CPPUNIT_ASSERT(!msg->isInvalidate()); CPPUNIT_ASSERT(!msg->isInvalidate());
CPPUNIT_ASSERT(!peer->isFastExtensionEnabled()); CPPUNIT_ASSERT(!peer->isFastExtensionEnabled());
msg->onCancelSendingPieceEvent(BtCancelSendingPieceEvent(1, 1024, 16*1024)); msg->onCancelSendingPieceEvent(BtCancelSendingPieceEvent(1, 1_k, 16_k));
CPPUNIT_ASSERT(msg->isInvalidate()); CPPUNIT_ASSERT(msg->isInvalidate());
} }
@ -203,15 +203,15 @@ void BtPieceMessageTest::testCancelSendingPieceEvent_noMatch() {
CPPUNIT_ASSERT(!msg->isInvalidate()); CPPUNIT_ASSERT(!msg->isInvalidate());
CPPUNIT_ASSERT(!peer->isFastExtensionEnabled()); CPPUNIT_ASSERT(!peer->isFastExtensionEnabled());
msg->onCancelSendingPieceEvent(BtCancelSendingPieceEvent(0, 1024, 16*1024)); msg->onCancelSendingPieceEvent(BtCancelSendingPieceEvent(0, 1_k, 16_k));
CPPUNIT_ASSERT(!msg->isInvalidate()); CPPUNIT_ASSERT(!msg->isInvalidate());
msg->onCancelSendingPieceEvent(BtCancelSendingPieceEvent(1, 0, 16*1024)); msg->onCancelSendingPieceEvent(BtCancelSendingPieceEvent(1, 0, 16_k));
CPPUNIT_ASSERT(!msg->isInvalidate()); CPPUNIT_ASSERT(!msg->isInvalidate());
msg->onCancelSendingPieceEvent(BtCancelSendingPieceEvent(1, 1024, 0)); msg->onCancelSendingPieceEvent(BtCancelSendingPieceEvent(1, 1_k, 0));
CPPUNIT_ASSERT(!msg->isInvalidate()); CPPUNIT_ASSERT(!msg->isInvalidate());
} }
@ -221,15 +221,15 @@ void BtPieceMessageTest::testCancelSendingPieceEvent_allowedFastEnabled() {
CPPUNIT_ASSERT(!msg->isInvalidate()); CPPUNIT_ASSERT(!msg->isInvalidate());
CPPUNIT_ASSERT(peer->isFastExtensionEnabled()); CPPUNIT_ASSERT(peer->isFastExtensionEnabled());
msg->onCancelSendingPieceEvent(BtCancelSendingPieceEvent(1, 1024, 16*1024)); msg->onCancelSendingPieceEvent(BtCancelSendingPieceEvent(1, 1_k, 16_k));
CPPUNIT_ASSERT(msg->isInvalidate()); CPPUNIT_ASSERT(msg->isInvalidate());
CPPUNIT_ASSERT_EQUAL((size_t)1, btMessageDispatcher->messageQueue.size()); CPPUNIT_ASSERT_EQUAL((size_t)1, btMessageDispatcher->messageQueue.size());
auto rej = static_cast<const BtRejectMessage*> auto rej = static_cast<const BtRejectMessage*>
(btMessageDispatcher->messageQueue.front().get()); (btMessageDispatcher->messageQueue.front().get());
CPPUNIT_ASSERT_EQUAL((size_t)1, rej->getIndex()); CPPUNIT_ASSERT_EQUAL((size_t)1, rej->getIndex());
CPPUNIT_ASSERT_EQUAL((int32_t)1024, rej->getBegin()); CPPUNIT_ASSERT_EQUAL((int32_t)1_k, rej->getBegin());
CPPUNIT_ASSERT_EQUAL((int32_t)16*1024, rej->getLength()); CPPUNIT_ASSERT_EQUAL((int32_t)16_k, rej->getLength());
} }
void BtPieceMessageTest::testCancelSendingPieceEvent_invalidate() { void BtPieceMessageTest::testCancelSendingPieceEvent_invalidate() {
@ -238,7 +238,7 @@ void BtPieceMessageTest::testCancelSendingPieceEvent_invalidate() {
CPPUNIT_ASSERT(msg->isInvalidate()); CPPUNIT_ASSERT(msg->isInvalidate());
CPPUNIT_ASSERT(peer->isFastExtensionEnabled()); CPPUNIT_ASSERT(peer->isFastExtensionEnabled());
msg->onCancelSendingPieceEvent(BtCancelSendingPieceEvent(1, 1024, 16*1024)); msg->onCancelSendingPieceEvent(BtCancelSendingPieceEvent(1, 1_k, 16_k));
CPPUNIT_ASSERT(msg->isInvalidate()); CPPUNIT_ASSERT(msg->isInvalidate());
CPPUNIT_ASSERT_EQUAL((size_t)0, btMessageDispatcher->messageQueue.size()); CPPUNIT_ASSERT_EQUAL((size_t)0, btMessageDispatcher->messageQueue.size());

View File

@ -69,7 +69,7 @@ void BtPostDownloadHandlerTest::testCanHandle_contentType()
void BtPostDownloadHandlerTest::testGetNextRequestGroups() void BtPostDownloadHandlerTest::testGetNextRequestGroups()
{ {
std::shared_ptr<DownloadContext> dctx std::shared_ptr<DownloadContext> dctx
(new DownloadContext(1024, 0, A2_TEST_DIR"/test.torrent")); (new DownloadContext(1_k, 0, A2_TEST_DIR"/test.torrent"));
RequestGroup rg(GroupId::create(), option_); RequestGroup rg(GroupId::create(), option_);
rg.setDownloadContext(dctx); rg.setDownloadContext(dctx);
rg.initPieceStorage(); rg.initPieceStorage();

View File

@ -70,7 +70,7 @@ public:
void setUp() { void setUp() {
peer.reset(new Peer("host", 6969)); peer.reset(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
dispatcher.reset(new MockBtMessageDispatcher2()); dispatcher.reset(new MockBtMessageDispatcher2());
@ -91,12 +91,12 @@ void BtRejectMessageTest::testCreate() {
bittorrent::createPeerMessageString(msg, sizeof(msg), 13, 16); bittorrent::createPeerMessageString(msg, sizeof(msg), 13, 16);
bittorrent::setIntParam(&msg[5], 12345); bittorrent::setIntParam(&msg[5], 12345);
bittorrent::setIntParam(&msg[9], 256); bittorrent::setIntParam(&msg[9], 256);
bittorrent::setIntParam(&msg[13], 1024); bittorrent::setIntParam(&msg[13], 1_k);
std::shared_ptr<BtRejectMessage> pm(BtRejectMessage::create(&msg[4], 13)); std::shared_ptr<BtRejectMessage> pm(BtRejectMessage::create(&msg[4], 13));
CPPUNIT_ASSERT_EQUAL((uint8_t)16, pm->getId()); CPPUNIT_ASSERT_EQUAL((uint8_t)16, pm->getId());
CPPUNIT_ASSERT_EQUAL((size_t)12345, pm->getIndex()); CPPUNIT_ASSERT_EQUAL((size_t)12345, pm->getIndex());
CPPUNIT_ASSERT_EQUAL(256, pm->getBegin()); CPPUNIT_ASSERT_EQUAL(256, pm->getBegin());
CPPUNIT_ASSERT_EQUAL(1024, pm->getLength()); CPPUNIT_ASSERT_EQUAL((int32_t)1_k, pm->getLength());
// case: payload size is wrong // case: payload size is wrong
try { try {
@ -120,12 +120,12 @@ void BtRejectMessageTest::testCreateMessage() {
BtRejectMessage msg; BtRejectMessage msg;
msg.setIndex(12345); msg.setIndex(12345);
msg.setBegin(256); msg.setBegin(256);
msg.setLength(1024); msg.setLength(1_k);
unsigned char data[17]; unsigned char data[17];
bittorrent::createPeerMessageString(data, sizeof(data), 13, 16); bittorrent::createPeerMessageString(data, sizeof(data), 13, 16);
bittorrent::setIntParam(&data[5], 12345); bittorrent::setIntParam(&data[5], 12345);
bittorrent::setIntParam(&data[9], 256); bittorrent::setIntParam(&data[9], 256);
bittorrent::setIntParam(&data[13], 1024); bittorrent::setIntParam(&data[13], 1_k);
unsigned char* rawmsg = msg.createMessage(); unsigned char* rawmsg = msg.createMessage();
CPPUNIT_ASSERT(memcmp(rawmsg, data, 17) == 0); CPPUNIT_ASSERT(memcmp(rawmsg, data, 17) == 0);
delete [] rawmsg; delete [] rawmsg;

View File

@ -87,7 +87,7 @@ public:
pieceStorage_ = make_unique<MockPieceStorage2>(); pieceStorage_ = make_unique<MockPieceStorage2>();
peer_ = std::make_shared<Peer>("host", 6969); peer_ = std::make_shared<Peer>("host", 6969);
peer_->allocateSessionResource(16*1024, 256*1024); peer_->allocateSessionResource(16_k, 256_k);
dispatcher_ = make_unique<MockBtMessageDispatcher>(); dispatcher_ = make_unique<MockBtMessageDispatcher>();
@ -113,12 +113,12 @@ void BtRequestMessageTest::testCreate() {
bittorrent::createPeerMessageString(msg, sizeof(msg), 13, 6); bittorrent::createPeerMessageString(msg, sizeof(msg), 13, 6);
bittorrent::setIntParam(&msg[5], 12345); bittorrent::setIntParam(&msg[5], 12345);
bittorrent::setIntParam(&msg[9], 256); bittorrent::setIntParam(&msg[9], 256);
bittorrent::setIntParam(&msg[13], 1024); bittorrent::setIntParam(&msg[13], 1_k);
auto pm = BtRequestMessage::create(&msg[4], 13); auto pm = BtRequestMessage::create(&msg[4], 13);
CPPUNIT_ASSERT_EQUAL((uint8_t)6, pm->getId()); CPPUNIT_ASSERT_EQUAL((uint8_t)6, pm->getId());
CPPUNIT_ASSERT_EQUAL((size_t)12345, pm->getIndex()); CPPUNIT_ASSERT_EQUAL((size_t)12345, pm->getIndex());
CPPUNIT_ASSERT_EQUAL(256, pm->getBegin()); CPPUNIT_ASSERT_EQUAL(256, pm->getBegin());
CPPUNIT_ASSERT_EQUAL(1024, pm->getLength()); CPPUNIT_ASSERT_EQUAL((int32_t)1_k, pm->getLength());
// case: payload size is wrong // case: payload size is wrong
try { try {
@ -142,12 +142,12 @@ void BtRequestMessageTest::testCreateMessage() {
BtRequestMessage msg; BtRequestMessage msg;
msg.setIndex(12345); msg.setIndex(12345);
msg.setBegin(256); msg.setBegin(256);
msg.setLength(1024); msg.setLength(1_k);
unsigned char data[17]; unsigned char data[17];
bittorrent::createPeerMessageString(data, sizeof(data), 13, 6); bittorrent::createPeerMessageString(data, sizeof(data), 13, 6);
bittorrent::setIntParam(&data[5], 12345); bittorrent::setIntParam(&data[5], 12345);
bittorrent::setIntParam(&data[9], 256); bittorrent::setIntParam(&data[9], 256);
bittorrent::setIntParam(&data[13], 1024); bittorrent::setIntParam(&data[13], 1_k);
unsigned char* rawmsg = msg.createMessage(); unsigned char* rawmsg = msg.createMessage();
CPPUNIT_ASSERT(memcmp(rawmsg, data, 17) == 0); CPPUNIT_ASSERT(memcmp(rawmsg, data, 17) == 0);
delete [] rawmsg; delete [] rawmsg;
@ -214,21 +214,21 @@ void BtRequestMessageTest::testDoReceivedAction_doesntHavePieceAndFastExtensionD
} }
void BtRequestMessageTest::testHandleAbortRequestEvent() { void BtRequestMessageTest::testHandleAbortRequestEvent() {
auto piece = std::make_shared<Piece>(1, 16*1024); auto piece = std::make_shared<Piece>(1, 16_k);
CPPUNIT_ASSERT(!msg->isInvalidate()); CPPUNIT_ASSERT(!msg->isInvalidate());
msg->onAbortOutstandingRequestEvent(BtAbortOutstandingRequestEvent(piece)); msg->onAbortOutstandingRequestEvent(BtAbortOutstandingRequestEvent(piece));
CPPUNIT_ASSERT(msg->isInvalidate()); CPPUNIT_ASSERT(msg->isInvalidate());
} }
void BtRequestMessageTest::testHandleAbortRequestEvent_indexNoMatch() { void BtRequestMessageTest::testHandleAbortRequestEvent_indexNoMatch() {
auto piece = std::make_shared<Piece>(2, 16*1024); auto piece = std::make_shared<Piece>(2, 16_k);
CPPUNIT_ASSERT(!msg->isInvalidate()); CPPUNIT_ASSERT(!msg->isInvalidate());
msg->onAbortOutstandingRequestEvent(BtAbortOutstandingRequestEvent(piece)); msg->onAbortOutstandingRequestEvent(BtAbortOutstandingRequestEvent(piece));
CPPUNIT_ASSERT(!msg->isInvalidate()); CPPUNIT_ASSERT(!msg->isInvalidate());
} }
void BtRequestMessageTest::testHandleAbortRequestEvent_alreadyInvalidated() { void BtRequestMessageTest::testHandleAbortRequestEvent_alreadyInvalidated() {
auto piece = std::make_shared<Piece>(1, 16*1024); auto piece = std::make_shared<Piece>(1, 16_k);
msg->setInvalidate(true); msg->setInvalidate(true);
CPPUNIT_ASSERT(msg->isInvalidate()); CPPUNIT_ASSERT(msg->isInvalidate());
msg->onAbortOutstandingRequestEvent(BtAbortOutstandingRequestEvent(piece)); msg->onAbortOutstandingRequestEvent(BtAbortOutstandingRequestEvent(piece));
@ -241,16 +241,16 @@ void BtRequestMessageTest::testToString() {
} }
void BtRequestMessageTest::testValidate() { void BtRequestMessageTest::testValidate() {
BtRequestMessage msg(0, 0, 16*1024); BtRequestMessage msg(0, 0, 16_k);
msg.setBtMessageValidator msg.setBtMessageValidator
(make_unique<RangeBtMessageValidator>(&msg, 1024, 256*1024)); (make_unique<RangeBtMessageValidator>(&msg, 1_k, 256_k));
msg.validate(); msg.validate();
} }
void BtRequestMessageTest::testValidate_lengthTooLong() { void BtRequestMessageTest::testValidate_lengthTooLong() {
BtRequestMessage msg(0, 0, 16*1024+1); BtRequestMessage msg(0, 0, 16_k+1);
msg.setBtMessageValidator msg.setBtMessageValidator
(make_unique<RangeBtMessageValidator>(&msg, 1024, 256*1024)); (make_unique<RangeBtMessageValidator>(&msg, 1_k, 256_k));
try { try {
msg.validate(); msg.validate();
CPPUNIT_FAIL("exception must be thrown."); CPPUNIT_FAIL("exception must be thrown.");

View File

@ -68,7 +68,7 @@ void BtUnchokeMessageTest::testCreateMessage() {
void BtUnchokeMessageTest::testDoReceivedAction() { void BtUnchokeMessageTest::testDoReceivedAction() {
std::shared_ptr<Peer> peer(new Peer("host", 6969)); std::shared_ptr<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
peer->peerChoking(true); peer->peerChoking(true);
BtUnchokeMessage msg; BtUnchokeMessage msg;
msg.setPeer(peer); msg.setPeer(peer);
@ -80,7 +80,7 @@ void BtUnchokeMessageTest::testDoReceivedAction() {
void BtUnchokeMessageTest::testOnSendComplete() { void BtUnchokeMessageTest::testOnSendComplete() {
std::shared_ptr<Peer> peer(new Peer("host", 6969)); std::shared_ptr<Peer> peer(new Peer("host", 6969));
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
peer->amChoking(true); peer->amChoking(true);
BtUnchokeMessage msg; BtUnchokeMessage msg;
msg.setPeer(peer); msg.setPeer(peer);

View File

@ -49,8 +49,8 @@ public:
void setUp() { void setUp() {
option_ = new Option(); option_ = new Option();
int64_t totalLength = 4*1024*1024; int64_t totalLength = 4_m;
int32_t pieceLength = 256*1024; int32_t pieceLength = 256_k;
static const unsigned char infoHash[] = { 0x01, 0x23, 0x45, 0x67, static const unsigned char infoHash[] = { 0x01, 0x23, 0x45, 0x67,
0x89, 0xab, 0xcd, 0xef, 0x89, 0xab, 0xcd, 0xef,

View File

@ -200,7 +200,9 @@ void DefaultBtMessageDispatcherTest::testDoCancelSendingPieceAction()
CPPUNIT_ASSERT(evcheck2.doCancelActionCalled); CPPUNIT_ASSERT(evcheck2.doCancelActionCalled);
} }
int MY_PIECE_LENGTH = 16*1024; namespace {
int MY_PIECE_LENGTH = 16_k;
} // namespace
void DefaultBtMessageDispatcherTest::testCheckRequestSlotAndDoNecessaryThing() void DefaultBtMessageDispatcherTest::testCheckRequestSlotAndDoNecessaryThing()
{ {
@ -277,23 +279,23 @@ void DefaultBtMessageDispatcherTest::testIsOutstandingRequest() {
} }
void DefaultBtMessageDispatcherTest::testGetOutstandingRequest() { void DefaultBtMessageDispatcherTest::testGetOutstandingRequest() {
btMessageDispatcher->addOutstandingRequest btMessageDispatcher->addOutstandingRequest(
(make_unique<RequestSlot>(1, 1024, 16*1024, 10)); make_unique<RequestSlot>(1, 1_k, 16_k, 10));
CPPUNIT_ASSERT(btMessageDispatcher->getOutstandingRequest(1, 1024, 16*1024)); CPPUNIT_ASSERT(btMessageDispatcher->getOutstandingRequest(1, 1_k, 16_k));
CPPUNIT_ASSERT(!btMessageDispatcher-> CPPUNIT_ASSERT(!btMessageDispatcher->
getOutstandingRequest(1, 1024, 17*1024)); getOutstandingRequest(1, 1_k, 17_k));
CPPUNIT_ASSERT(!btMessageDispatcher-> CPPUNIT_ASSERT(!btMessageDispatcher->
getOutstandingRequest(1, 2*1024, 16*1024)); getOutstandingRequest(1, 2_k, 16_k));
CPPUNIT_ASSERT(!btMessageDispatcher-> CPPUNIT_ASSERT(!btMessageDispatcher->
getOutstandingRequest(2, 1024, 16*1024)); getOutstandingRequest(2, 1_k, 16_k));
} }
void DefaultBtMessageDispatcherTest::testRemoveOutstandingRequest() { void DefaultBtMessageDispatcherTest::testRemoveOutstandingRequest() {
auto piece = std::make_shared<Piece>(1, 1024*1024); auto piece = std::make_shared<Piece>(1, 1_m);
size_t blockIndex = 0; size_t blockIndex = 0;
CPPUNIT_ASSERT(piece->getMissingUnusedBlockIndex(blockIndex)); CPPUNIT_ASSERT(piece->getMissingUnusedBlockIndex(blockIndex));
uint32_t begin = blockIndex*piece->getBlockLength(); uint32_t begin = blockIndex*piece->getBlockLength();

View File

@ -34,7 +34,7 @@ public:
dctx_ = make_unique<DownloadContext>(); dctx_ = make_unique<DownloadContext>();
peer_ = std::make_shared<Peer>("192.168.0.1", 6969); peer_ = std::make_shared<Peer>("192.168.0.1", 6969);
peer_->allocateSessionResource(1024, 1024*1024); peer_->allocateSessionResource(1_k, 1_m);
peer_->setExtendedMessagingEnabled(true); peer_->setExtendedMessagingEnabled(true);
exmsgFactory_ = std::make_shared<MockExtensionMessageFactory>(); exmsgFactory_ = std::make_shared<MockExtensionMessageFactory>();

View File

@ -113,7 +113,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DefaultBtProgressInfoFileTest);
#ifndef WORDS_BIGENDIAN #ifndef WORDS_BIGENDIAN
void DefaultBtProgressInfoFileTest::testLoad_compat() void DefaultBtProgressInfoFileTest::testLoad_compat()
{ {
initializeMembers(1024, 81920); initializeMembers(1_k, 80_k);
dctx_->setBasePath(A2_TEST_DIR"/load"); dctx_->setBasePath(A2_TEST_DIR"/load");
DefaultBtProgressInfoFile infoFile(dctx_, pieceStorage_, option_.get()); DefaultBtProgressInfoFile infoFile(dctx_, pieceStorage_, option_.get());
@ -128,10 +128,10 @@ void DefaultBtProgressInfoFileTest::testLoad_compat()
// check the contents of objects // check the contents of objects
// total length // total length
CPPUNIT_ASSERT_EQUAL((int64_t)81920, dctx_->getTotalLength()); CPPUNIT_ASSERT_EQUAL((int64_t)80_k, dctx_->getTotalLength());
// upload length // upload length
CPPUNIT_ASSERT_EQUAL((int64_t)1024, btRuntime_->getUploadLengthAtStartup()); CPPUNIT_ASSERT_EQUAL((int64_t)1_k, btRuntime_->getUploadLengthAtStartup());
// bitfield // bitfield
CPPUNIT_ASSERT_EQUAL(std::string("fffffffffffffffffffe"), CPPUNIT_ASSERT_EQUAL(std::string("fffffffffffffffffffe"),
@ -148,7 +148,7 @@ void DefaultBtProgressInfoFileTest::testLoad_compat()
std::shared_ptr<Piece> piece1 = inFlightPieces[0]; std::shared_ptr<Piece> piece1 = inFlightPieces[0];
CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getIndex()); CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getIndex());
CPPUNIT_ASSERT_EQUAL((int64_t)1024, piece1->getLength()); CPPUNIT_ASSERT_EQUAL((int64_t)1_k, piece1->getLength());
CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getBitfieldLength()); CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getBitfieldLength());
CPPUNIT_ASSERT_EQUAL(std::string("00"), util::toHex(piece1->getBitfield(), CPPUNIT_ASSERT_EQUAL(std::string("00"), util::toHex(piece1->getBitfield(),
piece1->getBitfieldLength())); piece1->getBitfieldLength()));
@ -162,7 +162,7 @@ void DefaultBtProgressInfoFileTest::testLoad_compat()
void DefaultBtProgressInfoFileTest::testLoad() void DefaultBtProgressInfoFileTest::testLoad()
{ {
initializeMembers(1024, 81920); initializeMembers(1_k, 80_k);
dctx_->setBasePath(A2_TEST_DIR"/load-v0001"); dctx_->setBasePath(A2_TEST_DIR"/load-v0001");
@ -177,10 +177,10 @@ void DefaultBtProgressInfoFileTest::testLoad()
// check the contents of objects // check the contents of objects
// total length // total length
CPPUNIT_ASSERT_EQUAL((int64_t)81920, dctx_->getTotalLength()); CPPUNIT_ASSERT_EQUAL((int64_t)80_k, dctx_->getTotalLength());
// upload length // upload length
CPPUNIT_ASSERT_EQUAL((int64_t)1024, btRuntime_->getUploadLengthAtStartup()); CPPUNIT_ASSERT_EQUAL((int64_t)1_k, btRuntime_->getUploadLengthAtStartup());
// bitfield // bitfield
CPPUNIT_ASSERT_EQUAL(std::string("fffffffffffffffffffe"), CPPUNIT_ASSERT_EQUAL(std::string("fffffffffffffffffffe"),
@ -197,7 +197,7 @@ void DefaultBtProgressInfoFileTest::testLoad()
std::shared_ptr<Piece> piece1 = inFlightPieces[0]; std::shared_ptr<Piece> piece1 = inFlightPieces[0];
CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getIndex()); CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getIndex());
CPPUNIT_ASSERT_EQUAL((int64_t)1024, piece1->getLength()); CPPUNIT_ASSERT_EQUAL((int64_t)1_k, piece1->getLength());
CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getBitfieldLength()); CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getBitfieldLength());
CPPUNIT_ASSERT_EQUAL(std::string("00"), util::toHex(piece1->getBitfield(), CPPUNIT_ASSERT_EQUAL(std::string("00"), util::toHex(piece1->getBitfield(),
piece1->getBitfieldLength())); piece1->getBitfieldLength()));
@ -210,7 +210,7 @@ void DefaultBtProgressInfoFileTest::testLoad()
void DefaultBtProgressInfoFileTest::testSave() void DefaultBtProgressInfoFileTest::testSave()
{ {
initializeMembers(1024, 81920); initializeMembers(1_k, 80_k);
dctx_->setBasePath(A2_TEST_OUT_DIR"/save-temp"); dctx_->setBasePath(A2_TEST_OUT_DIR"/save-temp");
dctx_->getNetStat().updateUploadLength(768); dctx_->getNetStat().updateUploadLength(768);
@ -219,7 +219,7 @@ void DefaultBtProgressInfoFileTest::testSave()
bitfield_->unsetBit(79); bitfield_->unsetBit(79);
pieceStorage_->setCompletedLength(80896); pieceStorage_->setCompletedLength(80896);
std::shared_ptr<Piece> p1(new Piece(1, 1024)); std::shared_ptr<Piece> p1(new Piece(1, 1_k));
std::shared_ptr<Piece> p2(new Piece(2, 512)); std::shared_ptr<Piece> p2(new Piece(2, 512));
std::vector<std::shared_ptr<Piece> > inFlightPieces; std::vector<std::shared_ptr<Piece> > inFlightPieces;
inFlightPieces.push_back(p1); inFlightPieces.push_back(p1);
@ -263,17 +263,17 @@ void DefaultBtProgressInfoFileTest::testSave()
uint32_t pieceLength; uint32_t pieceLength;
in.read((char*)&pieceLength, sizeof(pieceLength)); in.read((char*)&pieceLength, sizeof(pieceLength));
pieceLength = ntohl(pieceLength); pieceLength = ntohl(pieceLength);
CPPUNIT_ASSERT_EQUAL((uint32_t)1024, pieceLength); CPPUNIT_ASSERT_EQUAL((uint32_t)1_k, pieceLength);
uint64_t totalLength; uint64_t totalLength;
in.read((char*)&totalLength, sizeof(totalLength)); in.read((char*)&totalLength, sizeof(totalLength));
totalLength = ntoh64(totalLength); totalLength = ntoh64(totalLength);
CPPUNIT_ASSERT_EQUAL((uint64_t)81920/* 80*1024 */, totalLength); CPPUNIT_ASSERT_EQUAL((uint64_t)80_k, totalLength);
uint64_t uploadLength; uint64_t uploadLength;
in.read((char*)&uploadLength, sizeof(uploadLength)); in.read((char*)&uploadLength, sizeof(uploadLength));
uploadLength = ntoh64(uploadLength); uploadLength = ntoh64(uploadLength);
CPPUNIT_ASSERT_EQUAL((uint64_t)1024, uploadLength); CPPUNIT_ASSERT_EQUAL((uint64_t)1_k, uploadLength);
uint32_t bitfieldLength; uint32_t bitfieldLength;
in.read((char*)&bitfieldLength, sizeof(bitfieldLength)); in.read((char*)&bitfieldLength, sizeof(bitfieldLength));
@ -299,7 +299,7 @@ void DefaultBtProgressInfoFileTest::testSave()
uint32_t pieceLength1; uint32_t pieceLength1;
in.read((char*)&pieceLength1, sizeof(pieceLength1)); in.read((char*)&pieceLength1, sizeof(pieceLength1));
pieceLength1 = ntohl(pieceLength1); pieceLength1 = ntohl(pieceLength1);
CPPUNIT_ASSERT_EQUAL((uint32_t)1024, pieceLength1); CPPUNIT_ASSERT_EQUAL((uint32_t)1_k, pieceLength1);
uint32_t pieceBitfieldLength1; uint32_t pieceBitfieldLength1;
in.read((char*)&pieceBitfieldLength1, sizeof(pieceBitfieldLength1)); in.read((char*)&pieceBitfieldLength1, sizeof(pieceBitfieldLength1));
@ -330,10 +330,10 @@ void DefaultBtProgressInfoFileTest::testSave()
#ifndef WORDS_BIGENDIAN #ifndef WORDS_BIGENDIAN
void DefaultBtProgressInfoFileTest::testLoad_nonBt_compat() void DefaultBtProgressInfoFileTest::testLoad_nonBt_compat()
{ {
initializeMembers(1024, 81920); initializeMembers(1_k, 80_k);
std::shared_ptr<DownloadContext> dctx std::shared_ptr<DownloadContext> dctx
(new DownloadContext(1024, 81920, A2_TEST_DIR"/load-nonBt")); (new DownloadContext(1_k, 80_k, A2_TEST_DIR"/load-nonBt"));
DefaultBtProgressInfoFile infoFile(dctx, pieceStorage_, option_.get()); DefaultBtProgressInfoFile infoFile(dctx, pieceStorage_, option_.get());
@ -344,7 +344,7 @@ void DefaultBtProgressInfoFileTest::testLoad_nonBt_compat()
// check the contents of objects // check the contents of objects
// total length // total length
CPPUNIT_ASSERT_EQUAL((int64_t)81920, dctx->getTotalLength()); CPPUNIT_ASSERT_EQUAL((int64_t)80_k, dctx->getTotalLength());
// bitfield // bitfield
CPPUNIT_ASSERT_EQUAL(std::string("fffffffffffffffffffe"), CPPUNIT_ASSERT_EQUAL(std::string("fffffffffffffffffffe"),
@ -361,7 +361,7 @@ void DefaultBtProgressInfoFileTest::testLoad_nonBt_compat()
std::shared_ptr<Piece> piece1 = inFlightPieces[0]; std::shared_ptr<Piece> piece1 = inFlightPieces[0];
CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getIndex()); CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getIndex());
CPPUNIT_ASSERT_EQUAL((int64_t)1024, piece1->getLength()); CPPUNIT_ASSERT_EQUAL((int64_t)1_k, piece1->getLength());
CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getBitfieldLength()); CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getBitfieldLength());
CPPUNIT_ASSERT_EQUAL(std::string("00"), util::toHex(piece1->getBitfield(), CPPUNIT_ASSERT_EQUAL(std::string("00"), util::toHex(piece1->getBitfield(),
piece1->getBitfieldLength())); piece1->getBitfieldLength()));
@ -375,10 +375,10 @@ void DefaultBtProgressInfoFileTest::testLoad_nonBt_compat()
void DefaultBtProgressInfoFileTest::testLoad_nonBt() void DefaultBtProgressInfoFileTest::testLoad_nonBt()
{ {
initializeMembers(1024, 81920); initializeMembers(1_k, 80_k);
std::shared_ptr<DownloadContext> dctx std::shared_ptr<DownloadContext> dctx
(new DownloadContext(1024, 81920, A2_TEST_DIR"/load-nonBt-v0001")); (new DownloadContext(1_k, 80_k, A2_TEST_DIR"/load-nonBt-v0001"));
DefaultBtProgressInfoFile infoFile(dctx, pieceStorage_, option_.get()); DefaultBtProgressInfoFile infoFile(dctx, pieceStorage_, option_.get());
@ -389,7 +389,7 @@ void DefaultBtProgressInfoFileTest::testLoad_nonBt()
// check the contents of objects // check the contents of objects
// total length // total length
CPPUNIT_ASSERT_EQUAL((int64_t)81920, dctx->getTotalLength()); CPPUNIT_ASSERT_EQUAL((int64_t)80_k, dctx->getTotalLength());
// bitfield // bitfield
CPPUNIT_ASSERT_EQUAL(std::string("fffffffffffffffffffe"), CPPUNIT_ASSERT_EQUAL(std::string("fffffffffffffffffffe"),
@ -406,7 +406,7 @@ void DefaultBtProgressInfoFileTest::testLoad_nonBt()
std::shared_ptr<Piece> piece1 = inFlightPieces[0]; std::shared_ptr<Piece> piece1 = inFlightPieces[0];
CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getIndex()); CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getIndex());
CPPUNIT_ASSERT_EQUAL((int64_t)1024, piece1->getLength()); CPPUNIT_ASSERT_EQUAL((int64_t)1_k, piece1->getLength());
CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getBitfieldLength()); CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getBitfieldLength());
CPPUNIT_ASSERT_EQUAL(std::string("00"), util::toHex(piece1->getBitfield(), CPPUNIT_ASSERT_EQUAL(std::string("00"), util::toHex(piece1->getBitfield(),
piece1->getBitfieldLength())); piece1->getBitfieldLength()));
@ -419,11 +419,11 @@ void DefaultBtProgressInfoFileTest::testLoad_nonBt()
void DefaultBtProgressInfoFileTest::testLoad_nonBt_pieceLengthShorter() void DefaultBtProgressInfoFileTest::testLoad_nonBt_pieceLengthShorter()
{ {
initializeMembers(512, 81920); initializeMembers(512, 80_k);
option_->put(PREF_ALLOW_PIECE_LENGTH_CHANGE, A2_V_TRUE); option_->put(PREF_ALLOW_PIECE_LENGTH_CHANGE, A2_V_TRUE);
std::shared_ptr<DownloadContext> dctx std::shared_ptr<DownloadContext> dctx
(new DownloadContext(512, 81920, A2_TEST_DIR"/load-nonBt-v0001")); (new DownloadContext(512, 80_k, A2_TEST_DIR"/load-nonBt-v0001"));
DefaultBtProgressInfoFile infoFile(dctx, pieceStorage_, option_.get()); DefaultBtProgressInfoFile infoFile(dctx, pieceStorage_, option_.get());
@ -445,16 +445,16 @@ void DefaultBtProgressInfoFileTest::testLoad_nonBt_pieceLengthShorter()
void DefaultBtProgressInfoFileTest::testSave_nonBt() void DefaultBtProgressInfoFileTest::testSave_nonBt()
{ {
initializeMembers(1024, 81920); initializeMembers(1_k, 80_k);
std::shared_ptr<DownloadContext> dctx std::shared_ptr<DownloadContext> dctx
(new DownloadContext(1024, 81920, A2_TEST_OUT_DIR"/save-temp")); (new DownloadContext(1_k, 80_k, A2_TEST_OUT_DIR"/save-temp"));
bitfield_->setAllBit(); bitfield_->setAllBit();
bitfield_->unsetBit(79); bitfield_->unsetBit(79);
pieceStorage_->setCompletedLength(80896); pieceStorage_->setCompletedLength(80896);
std::shared_ptr<Piece> p1(new Piece(1, 1024)); std::shared_ptr<Piece> p1(new Piece(1, 1_k));
std::shared_ptr<Piece> p2(new Piece(2, 512)); std::shared_ptr<Piece> p2(new Piece(2, 512));
std::vector<std::shared_ptr<Piece> > inFlightPieces; std::vector<std::shared_ptr<Piece> > inFlightPieces;
inFlightPieces.push_back(p1); inFlightPieces.push_back(p1);
@ -491,12 +491,12 @@ void DefaultBtProgressInfoFileTest::testSave_nonBt()
uint32_t pieceLength; uint32_t pieceLength;
in.read((char*)&pieceLength, sizeof(pieceLength)); in.read((char*)&pieceLength, sizeof(pieceLength));
pieceLength = ntohl(pieceLength); pieceLength = ntohl(pieceLength);
CPPUNIT_ASSERT_EQUAL((uint32_t)1024, pieceLength); CPPUNIT_ASSERT_EQUAL((uint32_t)1_k, pieceLength);
uint64_t totalLength; uint64_t totalLength;
in.read((char*)&totalLength, sizeof(totalLength)); in.read((char*)&totalLength, sizeof(totalLength));
totalLength = ntoh64(totalLength); totalLength = ntoh64(totalLength);
CPPUNIT_ASSERT_EQUAL((uint64_t)81920/* 80*1024 */, totalLength); CPPUNIT_ASSERT_EQUAL((uint64_t)80_k, totalLength);
uint64_t uploadLength; uint64_t uploadLength;
in.read((char*)&uploadLength, sizeof(uploadLength)); in.read((char*)&uploadLength, sizeof(uploadLength));
@ -527,7 +527,7 @@ void DefaultBtProgressInfoFileTest::testSave_nonBt()
uint32_t pieceLength1; uint32_t pieceLength1;
in.read((char*)&pieceLength1, sizeof(pieceLength1)); in.read((char*)&pieceLength1, sizeof(pieceLength1));
pieceLength1 = ntohl(pieceLength1); pieceLength1 = ntohl(pieceLength1);
CPPUNIT_ASSERT_EQUAL((uint32_t)1024, pieceLength1); CPPUNIT_ASSERT_EQUAL((uint32_t)1_k, pieceLength1);
uint32_t pieceBitfieldLength1; uint32_t pieceBitfieldLength1;
in.read((char*)&pieceBitfieldLength1, sizeof(pieceBitfieldLength1)); in.read((char*)&pieceBitfieldLength1, sizeof(pieceBitfieldLength1));
@ -555,7 +555,7 @@ void DefaultBtProgressInfoFileTest::testSave_nonBt()
void DefaultBtProgressInfoFileTest::testUpdateFilename() void DefaultBtProgressInfoFileTest::testUpdateFilename()
{ {
std::shared_ptr<DownloadContext> dctx std::shared_ptr<DownloadContext> dctx
(new DownloadContext(1024, 81920, A2_TEST_DIR"/file1")); (new DownloadContext(1_k, 80_k, A2_TEST_DIR"/file1"));
DefaultBtProgressInfoFile infoFile(dctx, std::shared_ptr<MockPieceStorage>(), nullptr); DefaultBtProgressInfoFile infoFile(dctx, std::shared_ptr<MockPieceStorage>(), nullptr);
#ifdef ENABLE_BITTORRENT #ifdef ENABLE_BITTORRENT

View File

@ -100,12 +100,12 @@ CPPUNIT_TEST_SUITE_REGISTRATION(DefaultBtRequestFactoryTest);
void DefaultBtRequestFactoryTest::testAddTargetPiece() void DefaultBtRequestFactoryTest::testAddTargetPiece()
{ {
{ {
auto piece = std::make_shared<Piece>(0, 16*1024*10); auto piece = std::make_shared<Piece>(0, 160_k);
requestFactory_->addTargetPiece(piece); requestFactory_->addTargetPiece(piece);
CPPUNIT_ASSERT_EQUAL((size_t)1, requestFactory_->countTargetPiece()); CPPUNIT_ASSERT_EQUAL((size_t)1, requestFactory_->countTargetPiece());
} }
{ {
auto piece = std::make_shared<Piece>(1, 16*1024*9); auto piece = std::make_shared<Piece>(1, 16_k * 9);
piece->completeBlock(0); piece->completeBlock(0);
requestFactory_->addTargetPiece(piece); requestFactory_->addTargetPiece(piece);
CPPUNIT_ASSERT_EQUAL((size_t)2, requestFactory_->countTargetPiece()); CPPUNIT_ASSERT_EQUAL((size_t)2, requestFactory_->countTargetPiece());
@ -115,8 +115,8 @@ void DefaultBtRequestFactoryTest::testAddTargetPiece()
void DefaultBtRequestFactoryTest::testRemoveCompletedPiece() void DefaultBtRequestFactoryTest::testRemoveCompletedPiece()
{ {
auto piece1 = std::make_shared<Piece>(0, 16*1024); auto piece1 = std::make_shared<Piece>(0, 16_k);
auto piece2 = std::make_shared<Piece>(1, 16*1024); auto piece2 = std::make_shared<Piece>(1, 16_k);
piece2->setAllBlock(); piece2->setAllBlock();
requestFactory_->addTargetPiece(piece1); requestFactory_->addTargetPiece(piece1);
requestFactory_->addTargetPiece(piece2); requestFactory_->addTargetPiece(piece2);
@ -129,7 +129,7 @@ void DefaultBtRequestFactoryTest::testRemoveCompletedPiece()
void DefaultBtRequestFactoryTest::testCreateRequestMessages() void DefaultBtRequestFactoryTest::testCreateRequestMessages()
{ {
int PIECE_LENGTH = 16*1024*2; constexpr int PIECE_LENGTH = 32_k;
auto piece1 = std::make_shared<Piece>(0, PIECE_LENGTH); auto piece1 = std::make_shared<Piece>(0, PIECE_LENGTH);
auto piece2 = std::make_shared<Piece>(1, PIECE_LENGTH); auto piece2 = std::make_shared<Piece>(1, PIECE_LENGTH);
requestFactory_->addTargetPiece(piece1); requestFactory_->addTargetPiece(piece1);
@ -160,7 +160,7 @@ void DefaultBtRequestFactoryTest::testCreateRequestMessages_onEndGame()
requestFactory_->setBtMessageDispatcher(dispatcher.get()); requestFactory_->setBtMessageDispatcher(dispatcher.get());
int PIECE_LENGTH = 16*1024*2; constexpr int PIECE_LENGTH = 32_k;
auto piece1 = std::make_shared<Piece>(0, PIECE_LENGTH); auto piece1 = std::make_shared<Piece>(0, PIECE_LENGTH);
auto piece2 = std::make_shared<Piece>(1, PIECE_LENGTH); auto piece2 = std::make_shared<Piece>(1, PIECE_LENGTH);
requestFactory_->addTargetPiece(piece1); requestFactory_->addTargetPiece(piece1);
@ -183,7 +183,7 @@ void DefaultBtRequestFactoryTest::testCreateRequestMessages_onEndGame()
void DefaultBtRequestFactoryTest::testRemoveTargetPiece() void DefaultBtRequestFactoryTest::testRemoveTargetPiece()
{ {
auto piece1 = std::make_shared<Piece>(0, 16*1024); auto piece1 = std::make_shared<Piece>(0, 16_k);
requestFactory_->addTargetPiece(piece1); requestFactory_->addTargetPiece(piece1);
@ -202,9 +202,9 @@ void DefaultBtRequestFactoryTest::testRemoveTargetPiece()
void DefaultBtRequestFactoryTest::testGetTargetPieceIndexes() void DefaultBtRequestFactoryTest::testGetTargetPieceIndexes()
{ {
auto piece1 = std::make_shared<Piece>(1, 16*1024); auto piece1 = std::make_shared<Piece>(1, 16_k);
auto piece3 = std::make_shared<Piece>(3, 16*1024); auto piece3 = std::make_shared<Piece>(3, 16_k);
auto piece5 = std::make_shared<Piece>(5, 16*1024); auto piece5 = std::make_shared<Piece>(5, 16_k);
requestFactory_->addTargetPiece(piece3); requestFactory_->addTargetPiece(piece3);
requestFactory_->addTargetPiece(piece1); requestFactory_->addTargetPiece(piece1);

View File

@ -1,6 +1,8 @@
#include "DefaultDiskWriter.h" #include "DefaultDiskWriter.h"
#include <cppunit/extensions/HelperMacros.h> #include <cppunit/extensions/HelperMacros.h>
#include "a2functional.h"
namespace aria2 { namespace aria2 {
class DefaultDiskWriterTest:public CppUnit::TestFixture { class DefaultDiskWriterTest:public CppUnit::TestFixture {
@ -25,7 +27,7 @@ void DefaultDiskWriterTest::testSize()
DefaultDiskWriter dw(A2_TEST_DIR"/4096chunk.txt"); DefaultDiskWriter dw(A2_TEST_DIR"/4096chunk.txt");
dw.enableReadOnly(); dw.enableReadOnly();
dw.openExistingFile(); dw.openExistingFile();
CPPUNIT_ASSERT_EQUAL((int64_t)4096LL, dw.size()); CPPUNIT_ASSERT_EQUAL((int64_t)4_k, dw.size());
} }
} // namespace aria2 } // namespace aria2

View File

@ -52,7 +52,7 @@ public:
peerStorage_ = make_unique<MockPeerStorage>(); peerStorage_ = make_unique<MockPeerStorage>();
peer_ = std::make_shared<Peer>("192.168.0.1", 6969); peer_ = std::make_shared<Peer>("192.168.0.1", 6969);
peer_->allocateSessionResource(1024, 1024*1024); peer_->allocateSessionResource(1_k, 1_m);
peer_->setExtension(ExtensionMessageRegistry::UT_PEX, 1); peer_->setExtension(ExtensionMessageRegistry::UT_PEX, 1);
registry_ = make_unique<ExtensionMessageRegistry>(); registry_ = make_unique<ExtensionMessageRegistry>();

View File

@ -157,9 +157,9 @@ void DefaultPeerStorageTest::testReturnPeer()
DefaultPeerStorage ps; DefaultPeerStorage ps;
std::shared_ptr<Peer> peer1(new Peer("192.168.0.1", 0)); std::shared_ptr<Peer> peer1(new Peer("192.168.0.1", 0));
peer1->allocateSessionResource(1024*1024, 1024*1024*10); peer1->allocateSessionResource(1_m, 10_m);
std::shared_ptr<Peer> peer2(new Peer("192.168.0.2", 6889)); std::shared_ptr<Peer> peer2(new Peer("192.168.0.2", 6889));
peer2->allocateSessionResource(1024*1024, 1024*1024*10); peer2->allocateSessionResource(1_m, 10_m);
std::shared_ptr<Peer> peer3(new Peer("192.168.0.1", 6889)); std::shared_ptr<Peer> peer3(new Peer("192.168.0.1", 6889));
peer2->setDisconnectedGracefully(true); peer2->setDisconnectedGracefully(true);
ps.addPeer(peer1); ps.addPeer(peer1);

View File

@ -265,7 +265,7 @@ void DefaultPieceStorageTest::testGetPieceCompletedPiece() {
void DefaultPieceStorageTest::testCancelPiece() void DefaultPieceStorageTest::testCancelPiece()
{ {
size_t pieceLength = 256*1024; size_t pieceLength = 256_k;
int64_t totalLength = 32*pieceLength; // <-- make the number of piece greater than END_GAME_PIECE_NUM int64_t totalLength = 32*pieceLength; // <-- make the number of piece greater than END_GAME_PIECE_NUM
std::deque<std::string> uris1; std::deque<std::string> uris1;
uris1.push_back("http://localhost/src/file1.txt"); uris1.push_back("http://localhost/src/file1.txt");
@ -291,13 +291,13 @@ void DefaultPieceStorageTest::testCancelPiece()
void DefaultPieceStorageTest::testMarkPiecesDone() void DefaultPieceStorageTest::testMarkPiecesDone()
{ {
size_t pieceLength = 256*1024; size_t pieceLength = 256_k;
int64_t totalLength = 4*1024*1024; int64_t totalLength = 4_m;
auto dctx =std::make_shared<DownloadContext>(pieceLength, totalLength); auto dctx =std::make_shared<DownloadContext>(pieceLength, totalLength);
DefaultPieceStorage ps(dctx, option_.get()); DefaultPieceStorage ps(dctx, option_.get());
ps.markPiecesDone(pieceLength*10+16*1024*2+1); ps.markPiecesDone(pieceLength * 10 + 32_k + 1);
for(size_t i = 0; i < 10; ++i) { for(size_t i = 0; i < 10; ++i) {
CPPUNIT_ASSERT(ps.hasPiece(i)); CPPUNIT_ASSERT(ps.hasPiece(i));
@ -305,7 +305,7 @@ void DefaultPieceStorageTest::testMarkPiecesDone()
for(size_t i = 10; i < (totalLength+pieceLength-1)/pieceLength; ++i) { for(size_t i = 10; i < (totalLength+pieceLength-1)/pieceLength; ++i) {
CPPUNIT_ASSERT(!ps.hasPiece(i)); CPPUNIT_ASSERT(!ps.hasPiece(i));
} }
CPPUNIT_ASSERT_EQUAL((int64_t)pieceLength*10+16*1024*2, CPPUNIT_ASSERT_EQUAL((int64_t)pieceLength * 10 + (int64_t)32_k,
ps.getCompletedLength()); ps.getCompletedLength());
ps.markPiecesDone(totalLength); ps.markPiecesDone(totalLength);
@ -320,36 +320,36 @@ void DefaultPieceStorageTest::testMarkPiecesDone()
void DefaultPieceStorageTest::testGetCompletedLength() void DefaultPieceStorageTest::testGetCompletedLength()
{ {
auto dctx = std::make_shared<DownloadContext>(1024*1024, 256*1024*1024); auto dctx = std::make_shared<DownloadContext>(1_m, 256_m);
DefaultPieceStorage ps(dctx, option_.get()); DefaultPieceStorage ps(dctx, option_.get());
CPPUNIT_ASSERT_EQUAL((int64_t)0, ps.getCompletedLength()); CPPUNIT_ASSERT_EQUAL((int64_t)0, ps.getCompletedLength());
ps.markPiecesDone(250*1024*1024); ps.markPiecesDone(250_m);
CPPUNIT_ASSERT_EQUAL((int64_t)250*1024*1024, ps.getCompletedLength()); CPPUNIT_ASSERT_EQUAL((int64_t)250_m, ps.getCompletedLength());
std::vector<std::shared_ptr<Piece>> inFlightPieces; std::vector<std::shared_ptr<Piece>> inFlightPieces;
for(int i = 0; i < 2; ++i) { for(int i = 0; i < 2; ++i) {
auto p = std::make_shared<Piece>(250+i, 1024*1024); auto p = std::make_shared<Piece>(250+i, 1_m);
for(int j = 0; j < 32; ++j) { for(int j = 0; j < 32; ++j) {
p->completeBlock(j); p->completeBlock(j);
} }
inFlightPieces.push_back(p); inFlightPieces.push_back(p);
CPPUNIT_ASSERT_EQUAL((int64_t)512*1024, p->getCompletedLength()); CPPUNIT_ASSERT_EQUAL((int64_t)512_k, p->getCompletedLength());
} }
ps.addInFlightPiece(inFlightPieces); ps.addInFlightPiece(inFlightPieces);
CPPUNIT_ASSERT_EQUAL((int64_t)251*1024*1024, ps.getCompletedLength()); CPPUNIT_ASSERT_EQUAL((int64_t)251_m, ps.getCompletedLength());
ps.markPiecesDone(256*1024*1024); ps.markPiecesDone(256_m);
CPPUNIT_ASSERT_EQUAL((int64_t)256*1024*1024, ps.getCompletedLength()); CPPUNIT_ASSERT_EQUAL((int64_t)256_m, ps.getCompletedLength());
} }
void DefaultPieceStorageTest::testGetFilteredCompletedLength() void DefaultPieceStorageTest::testGetFilteredCompletedLength()
{ {
const size_t pieceLength = 1024*1024; const size_t pieceLength = 1_m;
auto dctx = std::make_shared<DownloadContext>(); auto dctx = std::make_shared<DownloadContext>();
dctx->setPieceLength(pieceLength); dctx->setPieceLength(pieceLength);
auto files = std::vector<std::shared_ptr<FileEntry>>{ auto files = std::vector<std::shared_ptr<FileEntry>>{
@ -373,7 +373,7 @@ void DefaultPieceStorageTest::testGetFilteredCompletedLength()
auto piece = ps.getMissingPiece(0, 1); auto piece = ps.getMissingPiece(0, 1);
ps.completePiece(piece); ps.completePiece(piece);
CPPUNIT_ASSERT_EQUAL((int64_t)pieceLength+16*1024, CPPUNIT_ASSERT_EQUAL((int64_t)pieceLength+(int64_t)16_k,
ps.getFilteredCompletedLength()); ps.getFilteredCompletedLength());
} }

View File

@ -60,7 +60,7 @@ void DirectDiskAdaptorTest::testWriteCache()
adaptor->setDiskWriter(std::move(sdw)); adaptor->setDiskWriter(std::move(sdw));
} }
WrDiskCacheEntry cache{adaptor}; WrDiskCacheEntry cache{adaptor};
std::string data1(4096, '1'), data2(4094, '2'); std::string data1(4_k, '1'), data2(4094, '2');
cache.cacheData(createDataCell(5, data1.c_str())); cache.cacheData(createDataCell(5, data1.c_str()));
cache.cacheData(createDataCell(5+data1.size(), data2.c_str())); cache.cacheData(createDataCell(5+data1.size(), data2.c_str()));
adaptor->writeCache(&cache); adaptor->writeCache(&cache);
@ -68,9 +68,9 @@ void DirectDiskAdaptorTest::testWriteCache()
cache.clear(); cache.clear();
dw->setString(""); dw->setString("");
cache.cacheData(createDataCell(4096, data1.c_str())); cache.cacheData(createDataCell(4_k, data1.c_str()));
adaptor->writeCache(&cache); adaptor->writeCache(&cache);
CPPUNIT_ASSERT_EQUAL(data1, dw->getString().substr(4096)); CPPUNIT_ASSERT_EQUAL(data1, dw->getString().substr(4_k));
cache.clear(); cache.clear();
dw->setString("???????"); dw->setString("???????");

View File

@ -39,7 +39,7 @@ void FallocFileAllocationIteratorTest::testAllocate()
DefaultDiskWriter writer(fn); DefaultDiskWriter writer(fn);
int64_t offset = 10; int64_t offset = 10;
int64_t totalLength = 40960; int64_t totalLength = 40_k;
// we have to open file first. // we have to open file first.
writer.openExistingFile(); writer.openExistingFile();
@ -48,7 +48,7 @@ void FallocFileAllocationIteratorTest::testAllocate()
itr.allocateChunk(); itr.allocateChunk();
CPPUNIT_ASSERT(itr.finished()); CPPUNIT_ASSERT(itr.finished());
CPPUNIT_ASSERT_EQUAL((int64_t)40960, f.size()); CPPUNIT_ASSERT_EQUAL((int64_t)40_k, f.size());
#endif // !HAVE_FALLOCATE #endif // !HAVE_FALLOCATE
} }

View File

@ -110,7 +110,7 @@ void FileTest::testRemove() {
void FileTest::testSize() { void FileTest::testSize() {
File f(A2_TEST_DIR"/4096chunk.txt"); File f(A2_TEST_DIR"/4096chunk.txt");
CPPUNIT_ASSERT_EQUAL(4096, (int)f.size()); CPPUNIT_ASSERT_EQUAL((int64_t)4_k, f.size());
} }
void FileTest::testMkdir() { void FileTest::testMkdir() {

View File

@ -206,7 +206,7 @@ void FtpConnectionTest::testReceiveMdtmResponse()
void FtpConnectionTest::testReceiveResponse_overflow() void FtpConnectionTest::testReceiveResponse_overflow()
{ {
char data[1024]; char data[1_k];
memset(data, 0, sizeof(data)); memset(data, 0, sizeof(data));
memcpy(data, "213 ", 4); memcpy(data, "213 ", 4);
for(int i = 0; i < 64; ++i) { for(int i = 0; i < 64; ++i) {

View File

@ -41,6 +41,8 @@
#include <zlib.h> #include <zlib.h>
#include "a2functional.h"
namespace aria2 { namespace aria2 {
// GZipDecoder can decode both gzip and deflate format. // GZipDecoder can decode both gzip and deflate format.
@ -50,7 +52,7 @@ private:
bool finished_; bool finished_;
static const size_t OUTBUF_LENGTH = 16*1024; static const size_t OUTBUF_LENGTH = 16_k;
static const std::string NAME; static const std::string NAME;
public: public:

View File

@ -35,7 +35,7 @@ void GZipDecoderTest::testDecode()
std::string outfile(A2_TEST_OUT_DIR"/aria2_GZipDecoderTest_testDecode"); std::string outfile(A2_TEST_OUT_DIR"/aria2_GZipDecoderTest_testDecode");
char buf[4096]; char buf[4_k];
std::ifstream in(A2_TEST_DIR"/gzip_decode_test.gz", std::ios::binary); std::ifstream in(A2_TEST_DIR"/gzip_decode_test.gz", std::ios::binary);
std::ofstream out(outfile.c_str(), std::ios::binary); std::ofstream out(outfile.c_str(), std::ios::binary);
while(in) { while(in) {

View File

@ -61,7 +61,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(GZipDecodingStreamFilterTest);
void GZipDecodingStreamFilterTest::testTransform() void GZipDecodingStreamFilterTest::testTransform()
{ {
unsigned char buf[4096]; unsigned char buf[4_k];
std::ifstream in(A2_TEST_DIR"/gzip_decode_test.gz", std::ios::binary); std::ifstream in(A2_TEST_DIR"/gzip_decode_test.gz", std::ios::binary);
while(in) { while(in) {
in.read(reinterpret_cast<char*>(buf), sizeof(buf)); in.read(reinterpret_cast<char*>(buf), sizeof(buf));

View File

@ -23,7 +23,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(GeomStreamPieceSelectorTest);
void GeomStreamPieceSelectorTest::testOnBitfieldInit() void GeomStreamPieceSelectorTest::testOnBitfieldInit()
{ {
BitfieldMan bf(1024, 1024*20); BitfieldMan bf(1_k, 20_k);
bf.setBitRange(0, 10); bf.setBitRange(0, 10);
GeomStreamPieceSelector sel(&bf, 2); GeomStreamPieceSelector sel(&bf, 2);
sel.onBitfieldInit(); sel.onBitfieldInit();
@ -31,19 +31,19 @@ void GeomStreamPieceSelectorTest::testOnBitfieldInit()
memset(igbf, 0, 3); memset(igbf, 0, 3);
size_t index; size_t index;
// 11111|11111|00000|00000 // 11111|11111|00000|00000
CPPUNIT_ASSERT(sel.select(index, 1024*20, igbf, sizeof(igbf))); CPPUNIT_ASSERT(sel.select(index, 20_k, igbf, sizeof(igbf)));
CPPUNIT_ASSERT_EQUAL((size_t)11, index); CPPUNIT_ASSERT_EQUAL((size_t)11, index);
bf.setUseBit(11); bf.setUseBit(11);
// 11111|11111|10000|00000 // 11111|11111|10000|00000
CPPUNIT_ASSERT(sel.select(index, 1024*20, igbf, sizeof(igbf))); CPPUNIT_ASSERT(sel.select(index, 20_k, igbf, sizeof(igbf)));
CPPUNIT_ASSERT_EQUAL((size_t)12, index); CPPUNIT_ASSERT_EQUAL((size_t)12, index);
bf.setUseBit(12); bf.setUseBit(12);
// 11111|11111|11000|00000 // 11111|11111|11000|00000
CPPUNIT_ASSERT(sel.select(index, 1024*20, igbf, sizeof(igbf))); CPPUNIT_ASSERT(sel.select(index, 20_k, igbf, sizeof(igbf)));
CPPUNIT_ASSERT_EQUAL((size_t)13, index); CPPUNIT_ASSERT_EQUAL((size_t)13, index);
bf.setUseBit(13); bf.setUseBit(13);
// 11111|11111|11100|00000 // 11111|11111|11100|00000
CPPUNIT_ASSERT(sel.select(index, 1024*20, igbf, sizeof(igbf))); CPPUNIT_ASSERT(sel.select(index, 20_k, igbf, sizeof(igbf)));
CPPUNIT_ASSERT_EQUAL((size_t)15, index); CPPUNIT_ASSERT_EQUAL((size_t)15, index);
} }

View File

@ -25,9 +25,9 @@ CPPUNIT_TEST_SUITE_REGISTRATION( GrowSegmentTest );
void GrowSegmentTest::testUpdateWrittenLength() void GrowSegmentTest::testUpdateWrittenLength()
{ {
GrowSegment segment(std::shared_ptr<Piece>(new Piece())); GrowSegment segment(std::shared_ptr<Piece>(new Piece()));
segment.updateWrittenLength(32*1024); segment.updateWrittenLength(32_k);
CPPUNIT_ASSERT_EQUAL((int64_t)32*1024, segment.getPositionToWrite()); CPPUNIT_ASSERT_EQUAL((int64_t)32_k, segment.getPositionToWrite());
CPPUNIT_ASSERT(!segment.complete()); CPPUNIT_ASSERT(!segment.complete());
CPPUNIT_ASSERT(segment.getPiece()->pieceComplete()); CPPUNIT_ASSERT(segment.getPiece()->pieceComplete());
} }
@ -35,8 +35,8 @@ void GrowSegmentTest::testUpdateWrittenLength()
void GrowSegmentTest::testClear() void GrowSegmentTest::testClear()
{ {
GrowSegment segment(std::shared_ptr<Piece>(new Piece())); GrowSegment segment(std::shared_ptr<Piece>(new Piece()));
segment.updateWrittenLength(32*1024); segment.updateWrittenLength(32_k);
CPPUNIT_ASSERT_EQUAL((int64_t)32*1024, segment.getWrittenLength()); CPPUNIT_ASSERT_EQUAL((int64_t)32_k, segment.getWrittenLength());
segment.clear(nullptr); segment.clear(nullptr);
CPPUNIT_ASSERT_EQUAL((int64_t)0, segment.getWrittenLength()); CPPUNIT_ASSERT_EQUAL((int64_t)0, segment.getWrittenLength());
} }

View File

@ -62,7 +62,7 @@ void HandshakeExtensionMessageTest::testGetBencodedData()
msg.setTCPPort(6889); msg.setTCPPort(6889);
msg.setExtension(ExtensionMessageRegistry::UT_PEX, 1); msg.setExtension(ExtensionMessageRegistry::UT_PEX, 1);
msg.setExtension(ExtensionMessageRegistry::UT_METADATA, 2); msg.setExtension(ExtensionMessageRegistry::UT_METADATA, 2);
msg.setMetadataSize(1024); msg.setMetadataSize(1_k);
CPPUNIT_ASSERT_EQUAL CPPUNIT_ASSERT_EQUAL
(std::string("d" (std::string("d"
"1:md11:ut_metadatai2e6:ut_pexi1ee" "1:md11:ut_metadatai2e6:ut_pexi1ee"
@ -83,7 +83,7 @@ void HandshakeExtensionMessageTest::testToString()
msg.setTCPPort(6889); msg.setTCPPort(6889);
msg.setExtension(ExtensionMessageRegistry::UT_PEX, 1); msg.setExtension(ExtensionMessageRegistry::UT_PEX, 1);
msg.setExtension(ExtensionMessageRegistry::UT_METADATA, 2); msg.setExtension(ExtensionMessageRegistry::UT_METADATA, 2);
msg.setMetadataSize(1024); msg.setMetadataSize(1_k);
CPPUNIT_ASSERT_EQUAL CPPUNIT_ASSERT_EQUAL
(std::string("handshake client=aria2, tcpPort=6889, metadataSize=1024," (std::string("handshake client=aria2, tcpPort=6889, metadataSize=1024,"
" ut_metadata=2, ut_pex=1"), msg.toString()); " ut_metadata=2, ut_pex=1"), msg.toString());
@ -100,13 +100,13 @@ void HandshakeExtensionMessageTest::testDoReceivedAction()
dctx->markTotalLengthIsUnknown(); dctx->markTotalLengthIsUnknown();
auto peer = std::make_shared<Peer>("192.168.0.1", 0); auto peer = std::make_shared<Peer>("192.168.0.1", 0);
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
HandshakeExtensionMessage msg; HandshakeExtensionMessage msg;
msg.setClientVersion("aria2"); msg.setClientVersion("aria2");
msg.setTCPPort(6889); msg.setTCPPort(6889);
msg.setExtension(ExtensionMessageRegistry::UT_PEX, 1); msg.setExtension(ExtensionMessageRegistry::UT_PEX, 1);
msg.setExtension(ExtensionMessageRegistry::UT_METADATA, 3); msg.setExtension(ExtensionMessageRegistry::UT_METADATA, 3);
msg.setMetadataSize(1024); msg.setMetadataSize(1_k);
msg.setPeer(peer); msg.setPeer(peer);
msg.setDownloadContext(dctx.get()); msg.setDownloadContext(dctx.get());
@ -121,13 +121,13 @@ void HandshakeExtensionMessageTest::testDoReceivedAction()
(ExtensionMessageRegistry::UT_METADATA)); (ExtensionMessageRegistry::UT_METADATA));
CPPUNIT_ASSERT(peer->isSeeder()); CPPUNIT_ASSERT(peer->isSeeder());
auto attrs = bittorrent::getTorrentAttrs(dctx); auto attrs = bittorrent::getTorrentAttrs(dctx);
CPPUNIT_ASSERT_EQUAL((size_t)1024, attrs->metadataSize); CPPUNIT_ASSERT_EQUAL((size_t)1_k, attrs->metadataSize);
CPPUNIT_ASSERT_EQUAL((int64_t)1024, dctx->getTotalLength()); CPPUNIT_ASSERT_EQUAL((int64_t)1_k, dctx->getTotalLength());
CPPUNIT_ASSERT(dctx->knowsTotalLength()); CPPUNIT_ASSERT(dctx->knowsTotalLength());
// See Peer is not marked as seeder if !attrs->metadata.empty() // See Peer is not marked as seeder if !attrs->metadata.empty()
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
attrs->metadataSize = 1024; attrs->metadataSize = 1_k;
attrs->metadata = std::string('0', attrs->metadataSize); attrs->metadata = std::string('0', attrs->metadataSize);
msg.doReceivedAction(); msg.doReceivedAction();
CPPUNIT_ASSERT(!peer->isSeeder()); CPPUNIT_ASSERT(!peer->isSeeder());
@ -146,7 +146,7 @@ void HandshakeExtensionMessageTest::testCreate()
CPPUNIT_ASSERT_EQUAL((uint8_t)1, CPPUNIT_ASSERT_EQUAL((uint8_t)1,
m->getExtensionMessageID m->getExtensionMessageID
(ExtensionMessageRegistry::UT_PEX)); (ExtensionMessageRegistry::UT_PEX));
CPPUNIT_ASSERT_EQUAL((size_t)1024, m->getMetadataSize()); CPPUNIT_ASSERT_EQUAL((size_t)1_k, m->getMetadataSize());
try { try {
// bad payload format // bad payload format
std::string in = "011:hello world"; std::string in = "011:hello world";

View File

@ -74,23 +74,23 @@ CPPUNIT_TEST_SUITE_REGISTRATION( HttpRequestTest );
void HttpRequestTest::testGetStartByte() void HttpRequestTest::testGetStartByte()
{ {
HttpRequest httpRequest; HttpRequest httpRequest;
auto p = std::make_shared<Piece>(1, 1024); auto p = std::make_shared<Piece>(1, 1_k);
auto segment = std::make_shared<PiecedSegment>(1024, p); auto segment = std::make_shared<PiecedSegment>(1_k, p);
auto fileEntry = std::make_shared<FileEntry>("file", 1024*10, 0); auto fileEntry = std::make_shared<FileEntry>("file", 10_k, 0);
CPPUNIT_ASSERT_EQUAL((int64_t)0LL, httpRequest.getStartByte()); CPPUNIT_ASSERT_EQUAL((int64_t)0LL, httpRequest.getStartByte());
httpRequest.setSegment(segment); httpRequest.setSegment(segment);
httpRequest.setFileEntry(fileEntry); httpRequest.setFileEntry(fileEntry);
CPPUNIT_ASSERT_EQUAL((int64_t)1024LL, httpRequest.getStartByte()); CPPUNIT_ASSERT_EQUAL((int64_t)1_k, httpRequest.getStartByte());
} }
void HttpRequestTest::testGetEndByte() void HttpRequestTest::testGetEndByte()
{ {
size_t index = 1; size_t index = 1;
size_t length = 1024*1024-1024; size_t length = 1_m-1_k;
size_t segmentLength = 1024*1024; size_t segmentLength = 1_m;
HttpRequest httpRequest; HttpRequest httpRequest;
auto piece = std::make_shared<Piece>(index, length); auto piece = std::make_shared<Piece>(index, length);
@ -130,9 +130,9 @@ void HttpRequestTest::testCreateRequest()
request->supportsPersistentConnection(true); request->supportsPersistentConnection(true);
request->setUri("http://localhost:8080/archives/aria2-1.0.0.tar.bz2"); request->setUri("http://localhost:8080/archives/aria2-1.0.0.tar.bz2");
auto p = std::make_shared<Piece>(0, 1024); auto p = std::make_shared<Piece>(0, 1_k);
auto segment = std::make_shared<PiecedSegment>(1024, p); auto segment = std::make_shared<PiecedSegment>(1_k, p);
auto fileEntry = std::make_shared<FileEntry>("file", 1024*1024*10, 0); auto fileEntry = std::make_shared<FileEntry>("file", 10_m, 0);
HttpRequest httpRequest; HttpRequest httpRequest;
httpRequest.disableContentEncoding(); httpRequest.disableContentEncoding();
@ -169,8 +169,8 @@ void HttpRequestTest::testCreateRequest()
CPPUNIT_ASSERT_EQUAL(expectedText, httpRequest.createRequest()); CPPUNIT_ASSERT_EQUAL(expectedText, httpRequest.createRequest());
p.reset(new Piece(1, 1024*1024)); p.reset(new Piece(1, 1_m));
segment.reset(new PiecedSegment(1024*1024, p)); segment.reset(new PiecedSegment(1_m, p));
httpRequest.setSegment(segment); httpRequest.setSegment(segment);
expectedText = "GET /archives/aria2-1.0.0.tar.bz2 HTTP/1.1\r\n" expectedText = "GET /archives/aria2-1.0.0.tar.bz2 HTTP/1.1\r\n"
@ -233,8 +233,8 @@ void HttpRequestTest::testCreateRequest()
request->resetUri(); request->resetUri();
p.reset(new Piece(0, 1024*1024)); p.reset(new Piece(0, 1_m));
segment.reset(new PiecedSegment(1024*1024, p)); segment.reset(new PiecedSegment(1_m, p));
httpRequest.setSegment(segment); httpRequest.setSegment(segment);
// enable http auth // enable http auth
@ -322,9 +322,9 @@ void HttpRequestTest::testCreateRequest_ftp()
("http://localhost:9000")); ("http://localhost:9000"));
HttpRequest httpRequest; HttpRequest httpRequest;
auto p = std::make_shared<Piece>(0, 1024*1024); auto p = std::make_shared<Piece>(0, 1_m);
auto segment = std::make_shared<PiecedSegment>(1024*1024, p); auto segment = std::make_shared<PiecedSegment>(1_m, p);
auto fileEntry = std::make_shared<FileEntry>("file", 1024*1024*10, 0); auto fileEntry = std::make_shared<FileEntry>("file", 10_m, 0);
httpRequest.disableContentEncoding(); httpRequest.disableContentEncoding();
httpRequest.setRequest(request); httpRequest.setRequest(request);
@ -379,9 +379,9 @@ void HttpRequestTest::testCreateRequest_with_cookie()
{ {
auto request = std::make_shared<Request>(); auto request = std::make_shared<Request>();
request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2"); request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2");
auto p = std::make_shared<Piece>(0, 1024*1024); auto p = std::make_shared<Piece>(0, 1_m);
auto segment = std::make_shared<PiecedSegment>(1024*1024, p); auto segment = std::make_shared<PiecedSegment>(1_m, p);
auto fileEntry = std::make_shared<FileEntry>("file", 1024*1024*10, 0); auto fileEntry = std::make_shared<FileEntry>("file", 10_m, 0);
auto st = CookieStorage{}; auto st = CookieStorage{};
CPPUNIT_ASSERT(st.store(createCookie("name1", "value1", "localhost", true, CPPUNIT_ASSERT(st.store(createCookie("name1", "value1", "localhost", true,
@ -540,11 +540,11 @@ void HttpRequestTest::testCreateRequest_endOffsetOverride()
httpRequest.setRequest(request); httpRequest.setRequest(request);
httpRequest.setAuthConfigFactory(authConfigFactory_.get()); httpRequest.setAuthConfigFactory(authConfigFactory_.get());
httpRequest.setOption(option_.get()); httpRequest.setOption(option_.get());
auto p = std::make_shared<Piece>(0, 1024*1024); auto p = std::make_shared<Piece>(0, 1_m);
auto segment = std::make_shared<PiecedSegment>(1024*1024, p); auto segment = std::make_shared<PiecedSegment>(1_m, p);
httpRequest.setSegment(segment); httpRequest.setSegment(segment);
httpRequest.setEndOffsetOverride(1024*1024*1024); httpRequest.setEndOffsetOverride(1_g);
auto fileEntry = std::make_shared<FileEntry>("file", 1024*1024*1024*10LL, 0); auto fileEntry = std::make_shared<FileEntry>("file", 10_g, 0);
httpRequest.setFileEntry(fileEntry); httpRequest.setFileEntry(fileEntry);
// End byte is passed if it is not 0 // End byte is passed if it is not 0
std::string expectedText = std::string expectedText =
@ -580,8 +580,8 @@ void HttpRequestTest::testCreateProxyRequest()
{ {
auto request = std::make_shared<Request>(); auto request = std::make_shared<Request>();
request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2"); request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2");
auto p = std::make_shared<Piece>(0, 1024*1024); auto p = std::make_shared<Piece>(0, 1_m);
auto segment = std::make_shared<PiecedSegment>(1024*1024, p); auto segment = std::make_shared<PiecedSegment>(1_m, p);
auto proxyRequest = std::make_shared<Request>(); auto proxyRequest = std::make_shared<Request>();
CPPUNIT_ASSERT(proxyRequest->setUri("http://localhost:9000")); CPPUNIT_ASSERT(proxyRequest->setUri("http://localhost:9000"));
@ -645,8 +645,8 @@ void HttpRequestTest::testIsRangeSatisfied()
request->supportsPersistentConnection(true); request->supportsPersistentConnection(true);
request->setUri("http://localhost:8080/archives/aria2-1.0.0.tar.bz2"); request->setUri("http://localhost:8080/archives/aria2-1.0.0.tar.bz2");
request->setPipeliningHint(false); // default: false request->setPipeliningHint(false); // default: false
auto p = std::make_shared<Piece>(0, 1024*1024); auto p = std::make_shared<Piece>(0, 1_m);
auto segment = std::make_shared<PiecedSegment>(1024*1024, p); auto segment = std::make_shared<PiecedSegment>(1_m, p);
auto fileEntry = std::make_shared<FileEntry>("file", 0, 0); auto fileEntry = std::make_shared<FileEntry>("file", 0, 0);
HttpRequest httpRequest; HttpRequest httpRequest;
@ -659,8 +659,8 @@ void HttpRequestTest::testIsRangeSatisfied()
CPPUNIT_ASSERT(httpRequest.isRangeSatisfied(range)); CPPUNIT_ASSERT(httpRequest.isRangeSatisfied(range));
p.reset(new Piece(1, 1024*1024)); p.reset(new Piece(1, 1_m));
segment.reset(new PiecedSegment(1024*1024, p)); segment.reset(new PiecedSegment(1_m, p));
httpRequest.setSegment(segment); httpRequest.setSegment(segment);
CPPUNIT_ASSERT(!httpRequest.isRangeSatisfied(range)); CPPUNIT_ASSERT(!httpRequest.isRangeSatisfied(range));
@ -707,8 +707,8 @@ void HttpRequestTest::testUserAgent()
auto request = std::make_shared<Request>(); auto request = std::make_shared<Request>();
request->setUri("http://localhost:8080/archives/aria2-1.0.0.tar.bz2"); request->setUri("http://localhost:8080/archives/aria2-1.0.0.tar.bz2");
//std::shared_ptr<Piece> p(new Piece(0, 1024)); //std::shared_ptr<Piece> p(new Piece(0, 1_k));
//std::shared_ptr<Segment> segment(new PiecedSegment(1024, p)); //std::shared_ptr<Segment> segment(new PiecedSegment(1_k, p));
HttpRequest httpRequest; HttpRequest httpRequest;
httpRequest.disableContentEncoding(); httpRequest.disableContentEncoding();

View File

@ -384,10 +384,10 @@ void HttpResponseTest::testValidateResponse_good_range()
httpResponse.setHttpHeader(make_unique<HttpHeader>()); httpResponse.setHttpHeader(make_unique<HttpHeader>());
auto httpRequest = make_unique<HttpRequest>(); auto httpRequest = make_unique<HttpRequest>();
auto p = std::make_shared<Piece>(1, 1024*1024); auto p = std::make_shared<Piece>(1, 1_m);
auto segment = std::make_shared<PiecedSegment>(1024*1024, p); auto segment = std::make_shared<PiecedSegment>(1_m, p);
httpRequest->setSegment(segment); httpRequest->setSegment(segment);
auto fileEntry = std::make_shared<FileEntry>("file", 1024*1024*10, 0); auto fileEntry = std::make_shared<FileEntry>("file", 10_m, 0);
httpRequest->setFileEntry(fileEntry); httpRequest->setFileEntry(fileEntry);
auto request = std::make_shared<Request>(); auto request = std::make_shared<Request>();
request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2"); request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2");
@ -412,10 +412,10 @@ void HttpResponseTest::testValidateResponse_bad_range()
httpResponse.setHttpHeader(make_unique<HttpHeader>()); httpResponse.setHttpHeader(make_unique<HttpHeader>());
auto httpRequest = make_unique<HttpRequest>(); auto httpRequest = make_unique<HttpRequest>();
auto p = std::make_shared<Piece>(1, 1024*1024); auto p = std::make_shared<Piece>(1, 1_m);
auto segment = std::make_shared<PiecedSegment>(1024*1024, p); auto segment = std::make_shared<PiecedSegment>(1_m, p);
httpRequest->setSegment(segment); httpRequest->setSegment(segment);
auto fileEntry = std::make_shared<FileEntry>("file", 1024*1024*10, 0); auto fileEntry = std::make_shared<FileEntry>("file", 10_m, 0);
httpRequest->setFileEntry(fileEntry); httpRequest->setFileEntry(fileEntry);
auto request = std::make_shared<Request>(); auto request = std::make_shared<Request>();
request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2"); request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2");
@ -438,10 +438,10 @@ void HttpResponseTest::testValidateResponse_chunked()
httpResponse.setHttpHeader(make_unique<HttpHeader>()); httpResponse.setHttpHeader(make_unique<HttpHeader>());
auto httpRequest = make_unique<HttpRequest>(); auto httpRequest = make_unique<HttpRequest>();
auto p = std::make_shared<Piece>(1, 1024*1024); auto p = std::make_shared<Piece>(1, 1_m);
auto segment = std::make_shared<PiecedSegment>(1024*1024, p); auto segment = std::make_shared<PiecedSegment>(1_m, p);
httpRequest->setSegment(segment); httpRequest->setSegment(segment);
auto fileEntry = std::make_shared<FileEntry>("file", 1024*1024*10, 0); auto fileEntry = std::make_shared<FileEntry>("file", 10_m, 0);
httpRequest->setFileEntry(fileEntry); httpRequest->setFileEntry(fileEntry);
auto request = std::make_shared<Request>(); auto request = std::make_shared<Request>();
request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2"); request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2");

View File

@ -4,6 +4,7 @@
#include "array_fun.h" #include "array_fun.h"
#include "BitfieldMan.h" #include "BitfieldMan.h"
#include "a2functional.h"
namespace aria2 { namespace aria2 {
@ -26,7 +27,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(LongestSequencePieceSelectorTest);
void LongestSequencePieceSelectorTest::testSelect() void LongestSequencePieceSelectorTest::testSelect()
{ {
size_t A[] = { 1,2,3,4,7,10,11,12,13,14,15,100,112,113,114 }; size_t A[] = { 1,2,3,4,7,10,11,12,13,14,15,100,112,113,114 };
BitfieldMan bf(1024, 1024*256); BitfieldMan bf(1_k, 256_k);
for(size_t i = 0; i < arraySize(A); ++i) { for(size_t i = 0; i < arraySize(A); ++i) {
bf.setBit(A[i]); bf.setBit(A[i]);
} }

View File

@ -33,7 +33,7 @@ void MessageDigestHelperTest::testDigestDiskWriter() {
CPPUNIT_ASSERT_EQUAL(std::string("608cabc0f2fa18c260cafd974516865c772363d5"), CPPUNIT_ASSERT_EQUAL(std::string("608cabc0f2fa18c260cafd974516865c772363d5"),
util::toHex(message_digest::digest util::toHex(message_digest::digest
(MessageDigest::sha1().get(), (MessageDigest::sha1().get(),
diskio, 0, 4096))); diskio, 0, 4_k)));
CPPUNIT_ASSERT_EQUAL(std::string("7a4a9ae537ebbbb826b1060e704490ad0f365ead"), CPPUNIT_ASSERT_EQUAL(std::string("7a4a9ae537ebbbb826b1060e704490ad0f365ead"),
util::toHex(message_digest::digest util::toHex(message_digest::digest

View File

@ -52,7 +52,7 @@ void MetalinkParserControllerTest::testEntryTransaction()
ctrl.newEntryTransaction(); ctrl.newEntryTransaction();
ctrl.setFileNameOfEntry("aria2.tar.bz2"); ctrl.setFileNameOfEntry("aria2.tar.bz2");
ctrl.setFileLengthOfEntry(1024*1024); ctrl.setFileLengthOfEntry(1_m);
ctrl.setVersionOfEntry("1.0"); ctrl.setVersionOfEntry("1.0");
ctrl.setLanguageOfEntry("ja_JP"); ctrl.setLanguageOfEntry("ja_JP");
ctrl.setOSOfEntry("Linux"); ctrl.setOSOfEntry("Linux");
@ -64,7 +64,7 @@ void MetalinkParserControllerTest::testEntryTransaction()
CPPUNIT_ASSERT_EQUAL((size_t)1, m->getEntries().size()); CPPUNIT_ASSERT_EQUAL((size_t)1, m->getEntries().size());
auto& e = m->getEntries()[0]; auto& e = m->getEntries()[0];
CPPUNIT_ASSERT_EQUAL(std::string("aria2.tar.bz2"), e->file->getPath()); CPPUNIT_ASSERT_EQUAL(std::string("aria2.tar.bz2"), e->file->getPath());
CPPUNIT_ASSERT_EQUAL((int64_t)(1024*1024LL), e->file->getLength()); CPPUNIT_ASSERT_EQUAL((int64_t)1_m, e->file->getLength());
CPPUNIT_ASSERT_EQUAL((int64_t)0, e->file->getOffset()); CPPUNIT_ASSERT_EQUAL((int64_t)0, e->file->getOffset());
CPPUNIT_ASSERT_EQUAL(std::string("1.0"), e->version); CPPUNIT_ASSERT_EQUAL(std::string("1.0"), e->version);
CPPUNIT_ASSERT_EQUAL(std::string("ja_JP"), e->languages[0]); CPPUNIT_ASSERT_EQUAL(std::string("ja_JP"), e->languages[0]);
@ -215,7 +215,7 @@ void MetalinkParserControllerTest::testChunkChecksumTransaction()
ctrl.newEntryTransaction(); ctrl.newEntryTransaction();
ctrl.newChunkChecksumTransaction(); ctrl.newChunkChecksumTransaction();
ctrl.setTypeOfChunkChecksum("md5"); ctrl.setTypeOfChunkChecksum("md5");
ctrl.setLengthOfChunkChecksum(256*1024); ctrl.setLengthOfChunkChecksum(256_k);
ctrl.addHashOfChunkChecksum(4, "4cbd18db4cc2f85cedef654fccc4a4d8"); ctrl.addHashOfChunkChecksum(4, "4cbd18db4cc2f85cedef654fccc4a4d8");
ctrl.addHashOfChunkChecksum(1, "1cbd18db4cc2f85cedef654fccc4a4d8"); ctrl.addHashOfChunkChecksum(1, "1cbd18db4cc2f85cedef654fccc4a4d8");
ctrl.addHashOfChunkChecksum(3, "3cbd18db4cc2f85cedef654fccc4a4d8"); ctrl.addHashOfChunkChecksum(3, "3cbd18db4cc2f85cedef654fccc4a4d8");
@ -226,7 +226,7 @@ void MetalinkParserControllerTest::testChunkChecksumTransaction()
ctrl.newEntryTransaction(); ctrl.newEntryTransaction();
ctrl.newChunkChecksumTransaction(); ctrl.newChunkChecksumTransaction();
ctrl.setTypeOfChunkChecksum("md5"); ctrl.setTypeOfChunkChecksum("md5");
ctrl.setLengthOfChunkChecksum(256*1024); ctrl.setLengthOfChunkChecksum(256_k);
ctrl.addHashOfChunkChecksum(1, "badhash"); ctrl.addHashOfChunkChecksum(1, "badhash");
ctrl.commitEntryTransaction(); ctrl.commitEntryTransaction();
@ -238,7 +238,7 @@ void MetalinkParserControllerTest::testChunkChecksumTransaction()
auto m = ctrl.getResult(); auto m = ctrl.getResult();
auto& md = m->getEntries()[0]->chunkChecksum; auto& md = m->getEntries()[0]->chunkChecksum;
CPPUNIT_ASSERT_EQUAL(std::string("md5"), md->getHashType()); CPPUNIT_ASSERT_EQUAL(std::string("md5"), md->getHashType());
CPPUNIT_ASSERT_EQUAL(256*1024, md->getPieceLength()); CPPUNIT_ASSERT_EQUAL((int32_t)256_k, md->getPieceLength());
CPPUNIT_ASSERT_EQUAL((size_t)5, md->countPieceHash()); CPPUNIT_ASSERT_EQUAL((size_t)5, md->countPieceHash());
CPPUNIT_ASSERT_EQUAL(std::string("1cbd18db4cc2f85cedef654fccc4a4d8"), CPPUNIT_ASSERT_EQUAL(std::string("1cbd18db4cc2f85cedef654fccc4a4d8"),
md->getPieceHashes()[0]); md->getPieceHashes()[0]);
@ -263,7 +263,7 @@ void MetalinkParserControllerTest::testChunkChecksumTransactionV4()
ctrl.newEntryTransaction(); ctrl.newEntryTransaction();
ctrl.newChunkChecksumTransactionV4(); ctrl.newChunkChecksumTransactionV4();
ctrl.setTypeOfChunkChecksumV4("sha-1"); ctrl.setTypeOfChunkChecksumV4("sha-1");
ctrl.setLengthOfChunkChecksumV4(256*1024); ctrl.setLengthOfChunkChecksumV4(256_k);
ctrl.addHashOfChunkChecksumV4("5bd9f7248df0f3a6a86ab6c95f48787d546efa14"); ctrl.addHashOfChunkChecksumV4("5bd9f7248df0f3a6a86ab6c95f48787d546efa14");
ctrl.addHashOfChunkChecksumV4("9413ee70957a09d55704123687478e07f18c7b29"); ctrl.addHashOfChunkChecksumV4("9413ee70957a09d55704123687478e07f18c7b29");
@ -273,7 +273,7 @@ void MetalinkParserControllerTest::testChunkChecksumTransactionV4()
ctrl.newEntryTransaction(); ctrl.newEntryTransaction();
ctrl.newChunkChecksumTransactionV4(); ctrl.newChunkChecksumTransactionV4();
ctrl.setTypeOfChunkChecksumV4("sha-1"); ctrl.setTypeOfChunkChecksumV4("sha-1");
ctrl.setLengthOfChunkChecksumV4(256*1024); ctrl.setLengthOfChunkChecksumV4(256_k);
ctrl.addHashOfChunkChecksumV4("5bd9f7248df0f3a6a86ab6c95f48787d546efa14"); ctrl.addHashOfChunkChecksumV4("5bd9f7248df0f3a6a86ab6c95f48787d546efa14");
ctrl.addHashOfChunkChecksumV4("badhash"); ctrl.addHashOfChunkChecksumV4("badhash");
ctrl.commitEntryTransaction(); ctrl.commitEntryTransaction();
@ -286,7 +286,7 @@ void MetalinkParserControllerTest::testChunkChecksumTransactionV4()
auto m = ctrl.getResult(); auto m = ctrl.getResult();
auto& md = m->getEntries()[0]->chunkChecksum; auto& md = m->getEntries()[0]->chunkChecksum;
CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), md->getHashType()); CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), md->getHashType());
CPPUNIT_ASSERT_EQUAL(256*1024, md->getPieceLength()); CPPUNIT_ASSERT_EQUAL((int32_t)256_k, md->getPieceLength());
CPPUNIT_ASSERT_EQUAL((size_t)3, md->countPieceHash()); CPPUNIT_ASSERT_EQUAL((size_t)3, md->countPieceHash());
CPPUNIT_ASSERT_EQUAL CPPUNIT_ASSERT_EQUAL
(std::string("5bd9f7248df0f3a6a86ab6c95f48787d546efa14"), (std::string("5bd9f7248df0f3a6a86ab6c95f48787d546efa14"),

View File

@ -70,7 +70,7 @@ void MetalinkPostDownloadHandlerTest::testCanHandle_contentType()
void MetalinkPostDownloadHandlerTest::testGetNextRequestGroups() void MetalinkPostDownloadHandlerTest::testGetNextRequestGroups()
{ {
std::shared_ptr<DownloadContext> dctx std::shared_ptr<DownloadContext> dctx
(new DownloadContext(1024, 0, A2_TEST_DIR"/test.xml")); (new DownloadContext(1_k, 0, A2_TEST_DIR"/test.xml"));
RequestGroup rg(GroupId::create(), option_); RequestGroup rg(GroupId::create(), option_);
rg.setDownloadContext(dctx); rg.setDownloadContext(dctx);
rg.initPieceStorage(); rg.initPieceStorage();
@ -89,7 +89,7 @@ void MetalinkPostDownloadHandlerTest::testGetNextRequestGroups()
void MetalinkPostDownloadHandlerTest::testGetNextRequestGroups_withBaseUri() void MetalinkPostDownloadHandlerTest::testGetNextRequestGroups_withBaseUri()
{ {
std::shared_ptr<DownloadContext> dctx std::shared_ptr<DownloadContext> dctx
(new DownloadContext(1024, 0, A2_TEST_DIR"/base_uri.xml")); (new DownloadContext(1_k, 0, A2_TEST_DIR"/base_uri.xml"));
dctx->getFirstFileEntry()->addUri("http://base/dir/base_uri.xml"); dctx->getFirstFileEntry()->addUri("http://base/dir/base_uri.xml");
RequestGroup rg(GroupId::create(), option_); RequestGroup rg(GroupId::create(), option_);
rg.setDownloadContext(dctx); rg.setDownloadContext(dctx);

View File

@ -847,7 +847,7 @@ void MetalinkProcessorTest::testMultiplePieces()
auto& e = m->getEntries()[0]; auto& e = m->getEntries()[0];
auto& c = e->chunkChecksum; auto& c = e->chunkChecksum;
CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), c->getHashType()); CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), c->getHashType());
CPPUNIT_ASSERT_EQUAL(1024, c->getPieceLength()); CPPUNIT_ASSERT_EQUAL((int32_t)1_k, c->getPieceLength());
} catch(Exception& e) { } catch(Exception& e) {
CPPUNIT_FAIL(e.stackTrace()); CPPUNIT_FAIL(e.stackTrace());
} }
@ -878,7 +878,7 @@ void MetalinkProcessorTest::testBadPieceNo()
auto& e = m->getEntries()[0]; auto& e = m->getEntries()[0];
auto& c = e->chunkChecksum; auto& c = e->chunkChecksum;
CPPUNIT_ASSERT(c); CPPUNIT_ASSERT(c);
CPPUNIT_ASSERT_EQUAL(1024, c->getPieceLength()); CPPUNIT_ASSERT_EQUAL((int32_t)1_k, c->getPieceLength());
CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), c->getHashType()); CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), c->getHashType());
} catch(Exception& e) { } catch(Exception& e) {
CPPUNIT_FAIL(e.stackTrace()); CPPUNIT_FAIL(e.stackTrace());
@ -910,7 +910,7 @@ void MetalinkProcessorTest::testBadPieceLength()
auto& e = m->getEntries()[0]; auto& e = m->getEntries()[0];
auto& c = e->chunkChecksum; auto& c = e->chunkChecksum;
CPPUNIT_ASSERT(c); CPPUNIT_ASSERT(c);
CPPUNIT_ASSERT_EQUAL(1024, c->getPieceLength()); CPPUNIT_ASSERT_EQUAL((int32_t)1_k, c->getPieceLength());
CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), c->getHashType()); CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), c->getHashType());
} catch(Exception& e) { } catch(Exception& e) {
CPPUNIT_FAIL(e.stackTrace()); CPPUNIT_FAIL(e.stackTrace());
@ -941,7 +941,7 @@ void MetalinkProcessorTest::testUnsupportedType_piece()
auto& e = m->getEntries()[0]; auto& e = m->getEntries()[0];
auto& c = e->chunkChecksum; auto& c = e->chunkChecksum;
CPPUNIT_ASSERT(c); CPPUNIT_ASSERT(c);
CPPUNIT_ASSERT_EQUAL(1024, c->getPieceLength()); CPPUNIT_ASSERT_EQUAL((int32_t)1_k, c->getPieceLength());
CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), c->getHashType()); CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), c->getHashType());
} catch(Exception& e) { } catch(Exception& e) {
CPPUNIT_FAIL(e.stackTrace()); CPPUNIT_FAIL(e.stackTrace());

View File

@ -68,7 +68,7 @@ void MultiFileAllocationIteratorTest::testMakeDiskWriterEntries()
MultiDiskAdaptor diskAdaptor; MultiDiskAdaptor diskAdaptor;
diskAdaptor.setFileEntries(std::begin(fs), std::end(fs)); diskAdaptor.setFileEntries(std::begin(fs), std::end(fs));
diskAdaptor.setPieceLength(1024); diskAdaptor.setPieceLength(1_k);
diskAdaptor.openFile(); diskAdaptor.openFile();
auto allocitr = diskAdaptor.fileAllocationIterator(); auto allocitr = diskAdaptor.fileAllocationIterator();

View File

@ -26,7 +26,7 @@ void PeerConnectionTest::testReserveBuffer() {
CPPUNIT_ASSERT_EQUAL((size_t)MAX_BUFFER_CAPACITY, con.getBufferCapacity()); CPPUNIT_ASSERT_EQUAL((size_t)MAX_BUFFER_CAPACITY, con.getBufferCapacity());
CPPUNIT_ASSERT_EQUAL((size_t)3, con.getBufferLength()); CPPUNIT_ASSERT_EQUAL((size_t)3, con.getBufferLength());
size_t newLength = 32*1024; constexpr size_t newLength = 32_k;
con.reserveBuffer(newLength); con.reserveBuffer(newLength);
CPPUNIT_ASSERT_EQUAL(newLength, con.getBufferCapacity()); CPPUNIT_ASSERT_EQUAL(newLength, con.getBufferCapacity());

View File

@ -60,7 +60,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(PeerSessionResourceTest);
void PeerSessionResourceTest::testPeerAllowedIndexSetContains() void PeerSessionResourceTest::testPeerAllowedIndexSetContains()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
res.addPeerAllowedIndex(567); res.addPeerAllowedIndex(567);
res.addPeerAllowedIndex(789); res.addPeerAllowedIndex(789);
@ -72,7 +72,7 @@ void PeerSessionResourceTest::testPeerAllowedIndexSetContains()
void PeerSessionResourceTest::testAmAllowedIndexSetContains() void PeerSessionResourceTest::testAmAllowedIndexSetContains()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
res.addAmAllowedIndex(567); res.addAmAllowedIndex(567);
res.addAmAllowedIndex(789); res.addAmAllowedIndex(789);
@ -84,7 +84,7 @@ void PeerSessionResourceTest::testAmAllowedIndexSetContains()
void PeerSessionResourceTest::testHasAllPieces() void PeerSessionResourceTest::testHasAllPieces()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
CPPUNIT_ASSERT(!res.hasAllPieces()); CPPUNIT_ASSERT(!res.hasAllPieces());
res.markSeeder(); res.markSeeder();
@ -93,7 +93,7 @@ void PeerSessionResourceTest::testHasAllPieces()
void PeerSessionResourceTest::testHasPiece() void PeerSessionResourceTest::testHasPiece()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
CPPUNIT_ASSERT(!res.hasPiece(300)); CPPUNIT_ASSERT(!res.hasPiece(300));
res.updateBitfield(300, 1); res.updateBitfield(300, 1);
@ -104,7 +104,7 @@ void PeerSessionResourceTest::testHasPiece()
void PeerSessionResourceTest::testUpdateUploadLength() void PeerSessionResourceTest::testUpdateUploadLength()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
CPPUNIT_ASSERT_EQUAL((int64_t)0LL, res.uploadLength()); CPPUNIT_ASSERT_EQUAL((int64_t)0LL, res.uploadLength());
res.updateUploadLength(100); res.updateUploadLength(100);
@ -114,7 +114,7 @@ void PeerSessionResourceTest::testUpdateUploadLength()
void PeerSessionResourceTest::testUpdateDownloadLength() void PeerSessionResourceTest::testUpdateDownloadLength()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
CPPUNIT_ASSERT_EQUAL((int64_t)0LL, res.downloadLength()); CPPUNIT_ASSERT_EQUAL((int64_t)0LL, res.downloadLength());
res.updateDownloadLength(100); res.updateDownloadLength(100);
@ -124,7 +124,7 @@ void PeerSessionResourceTest::testUpdateDownloadLength()
void PeerSessionResourceTest::testExtendedMessageEnabled() void PeerSessionResourceTest::testExtendedMessageEnabled()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
CPPUNIT_ASSERT(!res.extendedMessagingEnabled()); CPPUNIT_ASSERT(!res.extendedMessagingEnabled());
res.extendedMessagingEnabled(true); res.extendedMessagingEnabled(true);
@ -135,7 +135,7 @@ void PeerSessionResourceTest::testExtendedMessageEnabled()
void PeerSessionResourceTest::testGetExtensionMessageID() void PeerSessionResourceTest::testGetExtensionMessageID()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
res.addExtension(ExtensionMessageRegistry::UT_PEX, 9); res.addExtension(ExtensionMessageRegistry::UT_PEX, 9);
CPPUNIT_ASSERT_EQUAL((uint8_t)9, CPPUNIT_ASSERT_EQUAL((uint8_t)9,
@ -152,7 +152,7 @@ void PeerSessionResourceTest::testGetExtensionMessageID()
void PeerSessionResourceTest::testFastExtensionEnabled() void PeerSessionResourceTest::testFastExtensionEnabled()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
CPPUNIT_ASSERT(!res.fastExtensionEnabled()); CPPUNIT_ASSERT(!res.fastExtensionEnabled());
res.fastExtensionEnabled(true); res.fastExtensionEnabled(true);
@ -163,7 +163,7 @@ void PeerSessionResourceTest::testFastExtensionEnabled()
void PeerSessionResourceTest::testSnubbing() void PeerSessionResourceTest::testSnubbing()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
CPPUNIT_ASSERT(!res.snubbing()); CPPUNIT_ASSERT(!res.snubbing());
res.snubbing(true); res.snubbing(true);
@ -174,7 +174,7 @@ void PeerSessionResourceTest::testSnubbing()
void PeerSessionResourceTest::testAmChoking() void PeerSessionResourceTest::testAmChoking()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
CPPUNIT_ASSERT(res.amChoking()); CPPUNIT_ASSERT(res.amChoking());
res.amChoking(false); res.amChoking(false);
@ -185,7 +185,7 @@ void PeerSessionResourceTest::testAmChoking()
void PeerSessionResourceTest::testAmInterested() void PeerSessionResourceTest::testAmInterested()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
CPPUNIT_ASSERT(!res.amInterested()); CPPUNIT_ASSERT(!res.amInterested());
res.amInterested(true); res.amInterested(true);
@ -196,7 +196,7 @@ void PeerSessionResourceTest::testAmInterested()
void PeerSessionResourceTest::testPeerChoking() void PeerSessionResourceTest::testPeerChoking()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
CPPUNIT_ASSERT(res.peerChoking()); CPPUNIT_ASSERT(res.peerChoking());
res.peerChoking(false); res.peerChoking(false);
@ -207,7 +207,7 @@ void PeerSessionResourceTest::testPeerChoking()
void PeerSessionResourceTest::testPeerInterested() void PeerSessionResourceTest::testPeerInterested()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
CPPUNIT_ASSERT(!res.peerInterested()); CPPUNIT_ASSERT(!res.peerInterested());
res.peerInterested(true); res.peerInterested(true);
@ -218,7 +218,7 @@ void PeerSessionResourceTest::testPeerInterested()
void PeerSessionResourceTest::testChokingRequired() void PeerSessionResourceTest::testChokingRequired()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
CPPUNIT_ASSERT(res.chokingRequired()); CPPUNIT_ASSERT(res.chokingRequired());
res.chokingRequired(false); res.chokingRequired(false);
@ -229,7 +229,7 @@ void PeerSessionResourceTest::testChokingRequired()
void PeerSessionResourceTest::testOptUnchoking() void PeerSessionResourceTest::testOptUnchoking()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
CPPUNIT_ASSERT(!res.optUnchoking()); CPPUNIT_ASSERT(!res.optUnchoking());
res.optUnchoking(true); res.optUnchoking(true);
@ -240,7 +240,7 @@ void PeerSessionResourceTest::testOptUnchoking()
void PeerSessionResourceTest::testShouldBeChoking() void PeerSessionResourceTest::testShouldBeChoking()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
CPPUNIT_ASSERT(res.shouldBeChoking()); CPPUNIT_ASSERT(res.shouldBeChoking());
res.chokingRequired(false); res.chokingRequired(false);
@ -252,7 +252,7 @@ void PeerSessionResourceTest::testShouldBeChoking()
void PeerSessionResourceTest::testCountOutstandingRequest() void PeerSessionResourceTest::testCountOutstandingRequest()
{ {
PeerSessionResource res(1024, 1024*1024); PeerSessionResource res(1_k, 1_m);
std::shared_ptr<MockBtMessageDispatcher> dispatcher std::shared_ptr<MockBtMessageDispatcher> dispatcher
(new MockBtMessageDispatcher()); (new MockBtMessageDispatcher());
res.setBtMessageDispatcher(dispatcher.get()); res.setBtMessageDispatcher(dispatcher.get());

View File

@ -15,7 +15,7 @@ private:
public: public:
void setUp() { void setUp() {
peer.reset(new Peer("localhost", 6969)); peer.reset(new Peer("localhost", 6969));
peer->allocateSessionResource(1024, 1024*1024); peer->allocateSessionResource(1_k, 1_m);
} }
void testPeerAllowedIndexSet(); void testPeerAllowedIndexSet();
@ -48,7 +48,7 @@ void PeerTest::testCountSeeder()
peers[4].reset(new Peer("192.168.0.5", 7000)); peers[4].reset(new Peer("192.168.0.5", 7000));
for(std::vector<std::shared_ptr<Peer> >::iterator i = peers.begin(); for(std::vector<std::shared_ptr<Peer> >::iterator i = peers.begin();
i != peers.end(); ++i) { i != peers.end(); ++i) {
(*i)->allocateSessionResource(1024, 1024*8); (*i)->allocateSessionResource(1_k, 8_k);
} }
unsigned char bitfield[] = { 0xff }; unsigned char bitfield[] = { 0xff };
peers[1]->setBitfield(bitfield, 1); peers[1]->setBitfield(bitfield, 1);

View File

@ -49,7 +49,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION( PieceTest );
void PieceTest::testCompleteBlock() void PieceTest::testCompleteBlock()
{ {
size_t blockLength = 32*1024; size_t blockLength = 32_k;
Piece p(0, blockLength*10, blockLength); Piece p(0, blockLength*10, blockLength);
p.completeBlock(5); p.completeBlock(5);
@ -59,7 +59,7 @@ void PieceTest::testCompleteBlock()
void PieceTest::testGetCompletedLength() void PieceTest::testGetCompletedLength()
{ {
int32_t blockLength = 16*1024; int32_t blockLength = 16_k;
Piece p(0, blockLength*10+100, blockLength); Piece p(0, blockLength*10+100, blockLength);
p.completeBlock(1); p.completeBlock(1);
@ -73,7 +73,7 @@ void PieceTest::testGetCompletedLength()
void PieceTest::testFlushWrCache() void PieceTest::testFlushWrCache()
{ {
unsigned char* data; unsigned char* data;
Piece p(0, 1024); Piece p(0, 1_k);
WrDiskCache dc(64); WrDiskCache dc(64);
p.initWrCache(&dc, adaptor_); p.initWrCache(&dc, adaptor_);
data = new unsigned char[3]; data = new unsigned char[3];
@ -99,8 +99,8 @@ void PieceTest::testFlushWrCache()
void PieceTest::testAppendWrCache() void PieceTest::testAppendWrCache()
{ {
unsigned char* data; unsigned char* data;
Piece p(0, 1024); Piece p(0, 1_k);
WrDiskCache dc(1024); WrDiskCache dc(1_k);
p.initWrCache(&dc, adaptor_); p.initWrCache(&dc, adaptor_);
size_t capacity = 6; size_t capacity = 6;
data = new unsigned char[capacity]; data = new unsigned char[capacity];
@ -139,7 +139,7 @@ void PieceTest::testGetDigestWithWrCache()
void PieceTest::testUpdateHash() void PieceTest::testUpdateHash()
{ {
Piece p(0, 16, 2*1024*1024); Piece p(0, 16, 2_m);
p.setHashType("sha-1"); p.setHashType("sha-1");
std::string spam("SPAM!"); std::string spam("SPAM!");

View File

@ -5,6 +5,7 @@
#include "array_fun.h" #include "array_fun.h"
#include "BitfieldMan.h" #include "BitfieldMan.h"
#include "MockPieceSelector.h" #include "MockPieceSelector.h"
#include "a2functional.h"
namespace aria2 { namespace aria2 {
@ -22,7 +23,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(PriorityPieceSelectorTest);
void PriorityPieceSelectorTest::testSelect() void PriorityPieceSelectorTest::testSelect()
{ {
size_t pieceLength = 1024; constexpr size_t pieceLength = 1_k;
size_t A[] = { 1,200}; size_t A[] = { 1,200};
BitfieldMan bf(pieceLength, pieceLength*256); BitfieldMan bf(pieceLength, pieceLength*256);
for(auto i : A) { for(auto i : A) {

View File

@ -4,6 +4,7 @@
#include "BitfieldMan.h" #include "BitfieldMan.h"
#include "PieceStatMan.h" #include "PieceStatMan.h"
#include "a2functional.h"
namespace aria2 { namespace aria2 {
@ -31,7 +32,7 @@ void RarestPieceSelectorTest::testSelect()
{ {
std::shared_ptr<PieceStatMan> pieceStatMan(new PieceStatMan(10, false)); std::shared_ptr<PieceStatMan> pieceStatMan(new PieceStatMan(10, false));
RarestPieceSelector selector(pieceStatMan); RarestPieceSelector selector(pieceStatMan);
BitfieldMan bf(1024, 10*1024); BitfieldMan bf(1_k, 10_k);
bf.setBitRange(0, 2); bf.setBitRange(0, 2);
size_t index; size_t index;

View File

@ -34,7 +34,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION( RequestGroupTest );
void RequestGroupTest::testGetFirstFilePath() void RequestGroupTest::testGetFirstFilePath()
{ {
std::shared_ptr<DownloadContext> ctx std::shared_ptr<DownloadContext> ctx
(new DownloadContext(1024, 1024, "/tmp/myfile")); (new DownloadContext(1_k, 1_k, "/tmp/myfile"));
RequestGroup group(GroupId::create(), option_); RequestGroup group(GroupId::create(), option_);
group.setDownloadContext(ctx); group.setDownloadContext(ctx);
@ -49,7 +49,7 @@ void RequestGroupTest::testGetFirstFilePath()
void RequestGroupTest::testCreateDownloadResult() void RequestGroupTest::testCreateDownloadResult()
{ {
std::shared_ptr<DownloadContext> ctx std::shared_ptr<DownloadContext> ctx
(new DownloadContext(1024, 1024*1024, "/tmp/myfile")); (new DownloadContext(1_k, 1_m, "/tmp/myfile"));
RequestGroup group(GroupId::create(), option_); RequestGroup group(GroupId::create(), option_);
group.setDownloadContext(ctx); group.setDownloadContext(ctx);
group.initPieceStorage(); group.initPieceStorage();
@ -58,7 +58,7 @@ void RequestGroupTest::testCreateDownloadResult()
CPPUNIT_ASSERT_EQUAL(std::string("/tmp/myfile"), CPPUNIT_ASSERT_EQUAL(std::string("/tmp/myfile"),
result->fileEntries[0]->getPath()); result->fileEntries[0]->getPath());
CPPUNIT_ASSERT_EQUAL((int64_t)1024*1024, CPPUNIT_ASSERT_EQUAL((int64_t)1_m,
result->fileEntries.back()->getLastOffset()); result->fileEntries.back()->getLastOffset());
CPPUNIT_ASSERT_EQUAL((uint64_t)0, result->sessionDownloadLength); CPPUNIT_ASSERT_EQUAL((uint64_t)0, result->sessionDownloadLength);
CPPUNIT_ASSERT_EQUAL((int64_t)0, result->sessionTime.count()); CPPUNIT_ASSERT_EQUAL((int64_t)0, result->sessionTime.count());

View File

@ -611,8 +611,7 @@ void RpcMethodTest::testChangeOption()
auto option = group->getOption(); auto option = group->getOption();
CPPUNIT_ASSERT_EQUAL(0, res.code); CPPUNIT_ASSERT_EQUAL(0, res.code);
CPPUNIT_ASSERT_EQUAL(100*1024, CPPUNIT_ASSERT_EQUAL((int)100_k, group->getMaxDownloadSpeedLimit());
group->getMaxDownloadSpeedLimit());
CPPUNIT_ASSERT_EQUAL(std::string("102400"), CPPUNIT_ASSERT_EQUAL(std::string("102400"),
option->get(PREF_MAX_DOWNLOAD_LIMIT)); option->get(PREF_MAX_DOWNLOAD_LIMIT));
#ifdef ENABLE_BITTORRENT #ifdef ENABLE_BITTORRENT
@ -624,8 +623,7 @@ void RpcMethodTest::testChangeOption()
e_->getBtRegistry()->get(group->getGID()) e_->getBtRegistry()->get(group->getGID())
->btRuntime->getMaxPeers()); ->btRuntime->getMaxPeers());
CPPUNIT_ASSERT_EQUAL(50*1024, CPPUNIT_ASSERT_EQUAL((int)50_k, group->getMaxUploadSpeedLimit());
group->getMaxUploadSpeedLimit());
CPPUNIT_ASSERT_EQUAL(std::string("51200"), CPPUNIT_ASSERT_EQUAL(std::string("51200"),
option->get(PREF_MAX_UPLOAD_LIMIT)); option->get(PREF_MAX_UPLOAD_LIMIT));
#endif // ENABLE_BITTORRENT #endif // ENABLE_BITTORRENT
@ -683,15 +681,13 @@ void RpcMethodTest::testChangeGlobalOption()
auto res = m.execute(std::move(req), e_.get()); auto res = m.execute(std::move(req), e_.get());
CPPUNIT_ASSERT_EQUAL(0, res.code); CPPUNIT_ASSERT_EQUAL(0, res.code);
CPPUNIT_ASSERT_EQUAL CPPUNIT_ASSERT_EQUAL(
(100*1024, (int)100_k, e_->getRequestGroupMan()->getMaxOverallDownloadSpeedLimit());
e_->getRequestGroupMan()->getMaxOverallDownloadSpeedLimit());
CPPUNIT_ASSERT_EQUAL(std::string("102400"), CPPUNIT_ASSERT_EQUAL(std::string("102400"),
e_->getOption()->get(PREF_MAX_OVERALL_DOWNLOAD_LIMIT)); e_->getOption()->get(PREF_MAX_OVERALL_DOWNLOAD_LIMIT));
#ifdef ENABLE_BITTORRENT #ifdef ENABLE_BITTORRENT
CPPUNIT_ASSERT_EQUAL CPPUNIT_ASSERT_EQUAL(
(50*1024, (int)50_k, e_->getRequestGroupMan()->getMaxOverallUploadSpeedLimit());
e_->getRequestGroupMan()->getMaxOverallUploadSpeedLimit());
CPPUNIT_ASSERT_EQUAL(std::string("51200"), CPPUNIT_ASSERT_EQUAL(std::string("51200"),
e_->getOption()->get(PREF_MAX_OVERALL_UPLOAD_LIMIT)); e_->getOption()->get(PREF_MAX_OVERALL_UPLOAD_LIMIT));
#endif // ENABLE_BITTORRENT #endif // ENABLE_BITTORRENT

View File

@ -32,8 +32,8 @@ private:
public: public:
void setUp() void setUp()
{ {
size_t pieceLength = 1024*1024; size_t pieceLength = 1_m;
uint64_t totalLength = 64*1024*1024; uint64_t totalLength = 64_m;
option_.reset(new Option()); option_.reset(new Option());
dctx_.reset dctx_.reset
(new DownloadContext(pieceLength, totalLength, "aria2.tar.bz2")); (new DownloadContext(pieceLength, totalLength, "aria2.tar.bz2"));
@ -80,8 +80,8 @@ void SegmentManTest::testNullBitfield()
void SegmentManTest::testCompleteSegment() void SegmentManTest::testCompleteSegment()
{ {
Option op; Option op;
size_t pieceLength = 1024*1024; size_t pieceLength = 1_m;
uint64_t totalLength = 64*1024*1024; uint64_t totalLength = 64_m;
std::shared_ptr<DownloadContext> dctx std::shared_ptr<DownloadContext> dctx
(new DownloadContext(pieceLength, totalLength, "aria2.tar.bz2")); (new DownloadContext(pieceLength, totalLength, "aria2.tar.bz2"));
std::shared_ptr<DefaultPieceStorage> ps(new DefaultPieceStorage(dctx, &op)); std::shared_ptr<DefaultPieceStorage> ps(new DefaultPieceStorage(dctx, &op));

View File

@ -30,22 +30,22 @@ CPPUNIT_TEST_SUITE_REGISTRATION( SegmentTest );
void SegmentTest::testUpdateWrittenLength() void SegmentTest::testUpdateWrittenLength()
{ {
std::shared_ptr<Piece> p(new Piece(0, 16*1024*10)); std::shared_ptr<Piece> p(new Piece(0, 160_k));
PiecedSegment s(16*1024*10, p); PiecedSegment s(160_k, p);
CPPUNIT_ASSERT_EQUAL((int64_t)0, s.getWrittenLength()); CPPUNIT_ASSERT_EQUAL((int64_t)0, s.getWrittenLength());
s.updateWrittenLength(16*1024); s.updateWrittenLength(16_k);
CPPUNIT_ASSERT(p->hasBlock(0)); CPPUNIT_ASSERT(p->hasBlock(0));
CPPUNIT_ASSERT(!p->hasBlock(1)); CPPUNIT_ASSERT(!p->hasBlock(1));
s.updateWrittenLength(16*1024*9); s.updateWrittenLength(16_k * 9);
CPPUNIT_ASSERT(p->pieceComplete()); CPPUNIT_ASSERT(p->pieceComplete());
} }
void SegmentTest::testUpdateWrittenLength_lastPiece() void SegmentTest::testUpdateWrittenLength_lastPiece()
{ {
std::shared_ptr<Piece> p(new Piece(0, 16*1024*9+1)); std::shared_ptr<Piece> p(new Piece(0, 16_k * 9 + 1));
PiecedSegment s(16*1024*10, p); PiecedSegment s(160_k, p);
s.updateWrittenLength(p->getLength()); s.updateWrittenLength(p->getLength());
CPPUNIT_ASSERT(p->pieceComplete()); CPPUNIT_ASSERT(p->pieceComplete());
@ -53,10 +53,10 @@ void SegmentTest::testUpdateWrittenLength_lastPiece()
void SegmentTest::testUpdateWrittenLength_incompleteLastPiece() void SegmentTest::testUpdateWrittenLength_incompleteLastPiece()
{ {
std::shared_ptr<Piece> p(new Piece(0, 16*1024*9+2)); std::shared_ptr<Piece> p(new Piece(0, 16_k * 9 + 2));
PiecedSegment s(16*1024*10, p); PiecedSegment s(160_k, p);
s.updateWrittenLength(16*1024*9+1); s.updateWrittenLength(16_k * 9 + 1);
CPPUNIT_ASSERT(!p->pieceComplete()); CPPUNIT_ASSERT(!p->pieceComplete());
s.updateWrittenLength(1); s.updateWrittenLength(1);
CPPUNIT_ASSERT(p->pieceComplete()); CPPUNIT_ASSERT(p->pieceComplete());
@ -64,10 +64,10 @@ void SegmentTest::testUpdateWrittenLength_incompleteLastPiece()
void SegmentTest::testClear() void SegmentTest::testClear()
{ {
std::shared_ptr<Piece> p(new Piece(0, 16*1024*10)); std::shared_ptr<Piece> p(new Piece(0, 160_k));
PiecedSegment s(16*1024*10, p); PiecedSegment s(160_k, p);
s.updateWrittenLength(16*1024*10); s.updateWrittenLength(160_k);
CPPUNIT_ASSERT_EQUAL((int64_t)16*1024*10, s.getWrittenLength()); CPPUNIT_ASSERT_EQUAL((int64_t)160_k, s.getWrittenLength());
s.clear(nullptr); s.clear(nullptr);
CPPUNIT_ASSERT_EQUAL((int64_t)0, s.getWrittenLength()); CPPUNIT_ASSERT_EQUAL((int64_t)0, s.getWrittenLength());
} }

View File

@ -23,7 +23,7 @@ public:
CPPUNIT_TEST_SUITE_REGISTRATION(ShareRatioSeedCriteriaTest); CPPUNIT_TEST_SUITE_REGISTRATION(ShareRatioSeedCriteriaTest);
void ShareRatioSeedCriteriaTest::testEvaluate() { void ShareRatioSeedCriteriaTest::testEvaluate() {
std::shared_ptr<DownloadContext> dctx(new DownloadContext(1024*1024, 1000000)); std::shared_ptr<DownloadContext> dctx(new DownloadContext(1_m, 1000000));
std::shared_ptr<BtRuntime> btRuntime(new BtRuntime()); std::shared_ptr<BtRuntime> btRuntime(new BtRuntime());
btRuntime->setUploadLengthAtStartup(1000000); btRuntime->setUploadLengthAtStartup(1000000);

View File

@ -1,9 +1,11 @@
#include "SingleFileAllocationIterator.h" #include "SingleFileAllocationIterator.h"
#include "File.h"
#include "DefaultDiskWriter.h"
#include <fstream> #include <fstream>
#include <cppunit/extensions/HelperMacros.h> #include <cppunit/extensions/HelperMacros.h>
#include "File.h"
#include "DefaultDiskWriter.h"
#include "a2functional.h"
namespace aria2 { namespace aria2 {
class SingleFileAllocationIteratorTest:public CppUnit::TestFixture { class SingleFileAllocationIteratorTest:public CppUnit::TestFixture {
@ -36,7 +38,7 @@ void SingleFileAllocationIteratorTest::testAllocate()
DefaultDiskWriter writer(fn); DefaultDiskWriter writer(fn);
int64_t offset = 10; int64_t offset = 10;
int64_t totalLength = 16*1024*2+8*1024; int64_t totalLength = 32_k + 8_k;
// we have to open file first. // we have to open file first.
writer.openExistingFile(); writer.openExistingFile();
@ -47,7 +49,7 @@ void SingleFileAllocationIteratorTest::testAllocate()
itr.allocateChunk(); itr.allocateChunk();
} }
File f(fn); File f(fn);
CPPUNIT_ASSERT_EQUAL((int64_t)40960, f.size()); CPPUNIT_ASSERT_EQUAL((int64_t)40_k, f.size());
} }
} // namespace aria2 } // namespace aria2

View File

@ -37,7 +37,7 @@ std::string readFile(const std::string& path)
{ {
std::stringstream ss; std::stringstream ss;
std::ifstream in(path.c_str(), std::ios::binary); std::ifstream in(path.c_str(), std::ios::binary);
char buf[4096]; char buf[4_k];
while(1) { while(1) {
in.read(buf, sizeof(buf)); in.read(buf, sizeof(buf));
ss.write(buf, in.gcount()); ss.write(buf, in.gcount());

View File

@ -71,7 +71,7 @@ void UTPexExtensionMessageTest::testGetBencodedData()
{ {
UTPexExtensionMessage msg(1); UTPexExtensionMessage msg(1);
auto p1 = std::make_shared<Peer>("192.168.0.1", 6881); auto p1 = std::make_shared<Peer>("192.168.0.1", 6881);
p1->allocateSessionResource(256*1024, 1024*1024); p1->allocateSessionResource(256_k, 1_m);
p1->setAllBitfield(); p1->setAllBitfield();
CPPUNIT_ASSERT(msg.addFreshPeer(p1));// added seeder, check add.f flag CPPUNIT_ASSERT(msg.addFreshPeer(p1));// added seeder, check add.f flag
auto p2 = std::make_shared<Peer>("10.1.1.2", 9999); auto p2 = std::make_shared<Peer>("10.1.1.2", 9999);
@ -120,7 +120,7 @@ void UTPexExtensionMessageTest::testToString()
{ {
UTPexExtensionMessage msg(1); UTPexExtensionMessage msg(1);
std::shared_ptr<Peer> p1(new Peer("192.168.0.1", 6881)); std::shared_ptr<Peer> p1(new Peer("192.168.0.1", 6881));
p1->allocateSessionResource(256*1024, 1024*1024); p1->allocateSessionResource(256_k, 1_m);
p1->setAllBitfield(); p1->setAllBitfield();
msg.addFreshPeer(p1);// added seeder, check add.f flag msg.addFreshPeer(p1);// added seeder, check add.f flag
std::shared_ptr<Peer> p2(new Peer("10.1.1.2", 9999)); std::shared_ptr<Peer> p2(new Peer("10.1.1.2", 9999));
@ -138,7 +138,7 @@ void UTPexExtensionMessageTest::testDoReceivedAction()
{ {
UTPexExtensionMessage msg(1); UTPexExtensionMessage msg(1);
std::shared_ptr<Peer> p1(new Peer("192.168.0.1", 6881)); std::shared_ptr<Peer> p1(new Peer("192.168.0.1", 6881));
p1->allocateSessionResource(256*1024, 1024*1024); p1->allocateSessionResource(256_k, 1_m);
p1->setAllBitfield(); p1->setAllBitfield();
msg.addFreshPeer(p1);// added seeder, check add.f flag msg.addFreshPeer(p1);// added seeder, check add.f flag
std::shared_ptr<Peer> p2(new Peer("1002:1035:4527:3546:7854:1237:3247:3217", std::shared_ptr<Peer> p2(new Peer("1002:1035:4527:3546:7854:1237:3247:3217",

View File

@ -805,7 +805,7 @@ void UtilTest1::testGetContentDispositionFilename() {
} }
void UtilTest1::testParseContentDisposition1() { void UtilTest1::testParseContentDisposition1() {
char dest[1024]; char dest[1_k];
size_t destlen = sizeof(dest); size_t destlen = sizeof(dest);
const char *cs; const char *cs;
size_t cslen; size_t cslen;
@ -1084,7 +1084,7 @@ void UtilTest1::testParseContentDisposition1() {
} }
void UtilTest1::testParseContentDisposition2() { void UtilTest1::testParseContentDisposition2() {
char dest[1024]; char dest[1_k];
size_t destlen = sizeof(dest); size_t destlen = sizeof(dest);
const char *cs; const char *cs;
size_t cslen; size_t cslen;

View File

@ -185,10 +185,10 @@ void UtilTest2::testPercentDecode() {
void UtilTest2::testGetRealSize() void UtilTest2::testGetRealSize()
{ {
CPPUNIT_ASSERT_EQUAL((int64_t)4294967296LL, util::getRealSize("4096M")); CPPUNIT_ASSERT_EQUAL((int64_t)4_g, util::getRealSize("4096M"));
CPPUNIT_ASSERT_EQUAL((int64_t)1024, util::getRealSize("1K")); CPPUNIT_ASSERT_EQUAL((int64_t)1_k, util::getRealSize("1K"));
CPPUNIT_ASSERT_EQUAL((int64_t)4294967296LL, util::getRealSize("4096m")); CPPUNIT_ASSERT_EQUAL((int64_t)4_g, util::getRealSize("4096m"));
CPPUNIT_ASSERT_EQUAL((int64_t)1024, util::getRealSize("1k")); CPPUNIT_ASSERT_EQUAL((int64_t)1_k, util::getRealSize("1k"));
try { try {
util::getRealSize(""); util::getRealSize("");
CPPUNIT_FAIL("exception must be thrown."); CPPUNIT_FAIL("exception must be thrown.");
@ -225,8 +225,8 @@ void UtilTest2::testAbbrevSize()
{ {
CPPUNIT_ASSERT_EQUAL(std::string("8,589,934,591Gi"), CPPUNIT_ASSERT_EQUAL(std::string("8,589,934,591Gi"),
util::abbrevSize(9223372036854775807LL)); util::abbrevSize(9223372036854775807LL));
CPPUNIT_ASSERT_EQUAL(std::string("4.0Gi"), util::abbrevSize(4294967296LL)); CPPUNIT_ASSERT_EQUAL(std::string("4.0Gi"), util::abbrevSize(4_g));
CPPUNIT_ASSERT_EQUAL(std::string("1.0Ki"), util::abbrevSize(1024)); CPPUNIT_ASSERT_EQUAL(std::string("1.0Ki"), util::abbrevSize(1_k));
CPPUNIT_ASSERT_EQUAL(std::string("0.9Ki"), util::abbrevSize(1023)); CPPUNIT_ASSERT_EQUAL(std::string("0.9Ki"), util::abbrevSize(1023));
CPPUNIT_ASSERT_EQUAL(std::string("511"), util::abbrevSize(511)); CPPUNIT_ASSERT_EQUAL(std::string("511"), util::abbrevSize(511));
CPPUNIT_ASSERT_EQUAL(std::string("0"), util::abbrevSize(0)); CPPUNIT_ASSERT_EQUAL(std::string("0"), util::abbrevSize(0));
@ -325,8 +325,8 @@ void UtilTest2::testMkdirs()
void UtilTest2::testConvertBitfield() void UtilTest2::testConvertBitfield()
{ {
BitfieldMan srcBitfield(384*1024, 256*1024*256+1); BitfieldMan srcBitfield(384_k, 256_k * 256 + 1);
BitfieldMan destBitfield(512*1024, srcBitfield.getTotalLength()); BitfieldMan destBitfield(512_k, srcBitfield.getTotalLength());
srcBitfield.setAllBit(); srcBitfield.setAllBit();
srcBitfield.unsetBit(2);// <- range [768, 1152) srcBitfield.unsetBit(2);// <- range [768, 1152)
// which corresponds to the index [1,2] in destBitfield // which corresponds to the index [1,2] in destBitfield
@ -458,7 +458,7 @@ void UtilTest2::testParseLLIntNoThrow()
void UtilTest2::testToString_binaryStream() void UtilTest2::testToString_binaryStream()
{ {
std::shared_ptr<DiskWriter> dw(new ByteArrayDiskWriter()); std::shared_ptr<DiskWriter> dw(new ByteArrayDiskWriter());
std::string data(16*1024+256, 'a'); std::string data(16_k + 256, 'a');
dw->initAndOpenFile(); dw->initAndOpenFile();
dw->writeData((const unsigned char*)data.c_str(), data.size(), 0); dw->writeData((const unsigned char*)data.c_str(), data.size(), 0);
@ -700,7 +700,7 @@ void UtilTest2::testParsePrioritizePieceRange()
// file3 | // file3 |
// | | // | |
// file4 | // file4 |
size_t pieceLength = 1024; constexpr size_t pieceLength = 1_k;
std::vector<std::shared_ptr<FileEntry> > entries(4, std::shared_ptr<FileEntry>()); std::vector<std::shared_ptr<FileEntry> > entries(4, std::shared_ptr<FileEntry>());
entries[0].reset(new FileEntry("file1", 1024, 0)); entries[0].reset(new FileEntry("file1", 1024, 0));
entries[1].reset(new FileEntry("file2",2560,entries[0]->getLastOffset())); entries[1].reset(new FileEntry("file2",2560,entries[0]->getLastOffset()));
@ -727,7 +727,7 @@ void UtilTest2::testParsePrioritizePieceRange()
CPPUNIT_ASSERT_EQUAL((size_t)3, result[2]); CPPUNIT_ASSERT_EQUAL((size_t)3, result[2]);
CPPUNIT_ASSERT_EQUAL((size_t)4, result[3]); CPPUNIT_ASSERT_EQUAL((size_t)4, result[3]);
result.clear(); result.clear();
util::parsePrioritizePieceRange(result, "head", entries, pieceLength, 1024); util::parsePrioritizePieceRange(result, "head", entries, pieceLength, 1_k);
CPPUNIT_ASSERT_EQUAL((size_t)4, result.size()); CPPUNIT_ASSERT_EQUAL((size_t)4, result.size());
CPPUNIT_ASSERT_EQUAL((size_t)0, result[0]); CPPUNIT_ASSERT_EQUAL((size_t)0, result[0]);
CPPUNIT_ASSERT_EQUAL((size_t)1, result[1]); CPPUNIT_ASSERT_EQUAL((size_t)1, result[1]);
@ -741,7 +741,7 @@ void UtilTest2::testParsePrioritizePieceRange()
CPPUNIT_ASSERT_EQUAL((size_t)3, result[2]); CPPUNIT_ASSERT_EQUAL((size_t)3, result[2]);
CPPUNIT_ASSERT_EQUAL((size_t)6, result[3]); CPPUNIT_ASSERT_EQUAL((size_t)6, result[3]);
result.clear(); result.clear();
util::parsePrioritizePieceRange(result, "tail", entries, pieceLength, 1024); util::parsePrioritizePieceRange(result, "tail", entries, pieceLength, 1_k);
CPPUNIT_ASSERT_EQUAL((size_t)4, result.size()); CPPUNIT_ASSERT_EQUAL((size_t)4, result.size());
CPPUNIT_ASSERT_EQUAL((size_t)0, result[0]); CPPUNIT_ASSERT_EQUAL((size_t)0, result[0]);
CPPUNIT_ASSERT_EQUAL((size_t)2, result[1]); CPPUNIT_ASSERT_EQUAL((size_t)2, result[1]);