Added geom parameter to --stream-piece-selector option.

pull/2/head
Tatsuhiro Tsujikawa 2011-08-23 19:13:44 +09:00
parent 201af99501
commit 7318c361bc
4 changed files with 11 additions and 6 deletions

View File

@ -58,6 +58,7 @@
#include "RarestPieceSelector.h"
#include "DefaultStreamPieceSelector.h"
#include "InorderStreamPieceSelector.h"
#include "GeomStreamPieceSelector.h"
#include "array_fun.h"
#include "PieceStatMan.h"
#include "wallclock.h"
@ -83,11 +84,11 @@ DefaultPieceStorage::DefaultPieceStorage
const std::string& pieceSelectorOpt =
option_->get(PREF_STREAM_PIECE_SELECTOR);
if(pieceSelectorOpt.empty() || pieceSelectorOpt == A2_V_DEFAULT) {
streamPieceSelector_ = SharedHandle<StreamPieceSelector>
(new DefaultStreamPieceSelector(bitfieldMan_));
streamPieceSelector_.reset(new DefaultStreamPieceSelector(bitfieldMan_));
} else if(pieceSelectorOpt == V_INORDER) {
streamPieceSelector_ = SharedHandle<StreamPieceSelector>
(new InorderStreamPieceSelector(bitfieldMan_));
streamPieceSelector_.reset(new InorderStreamPieceSelector(bitfieldMan_));
} else if(pieceSelectorOpt == A2_V_GEOM) {
streamPieceSelector_.reset(new GeomStreamPieceSelector(bitfieldMan_));
}
}

View File

@ -859,7 +859,8 @@ OptionHandlers OptionHandlerFactory::createOptionHandlers()
TEXT_STREAM_PIECE_SELECTOR,
A2_V_DEFAULT,
A2_V_DEFAULT,
V_INORDER));
V_INORDER,
A2_V_GEOM));
op->addTag(TAG_FTP);
op->addTag(TAG_HTTP);
handlers.push_back(op);

View File

@ -46,6 +46,7 @@ const std::string V_NONE("none");
const std::string V_MEM("mem");
const std::string V_ALL("all");
const std::string A2_V_FULL("full");
const std::string A2_V_GEOM("geom");
/**
* General preferences

View File

@ -50,6 +50,8 @@ extern const std::string V_NONE;
extern const std::string V_MEM;
extern const std::string V_ALL;
extern const std::string A2_V_FULL;
extern const std::string A2_V_GEOM;
/**
* General preferences
*/
@ -216,7 +218,7 @@ extern const std::string PREF_RETRY_WAIT;
extern const std::string PREF_ASYNC_DNS_SERVER;
// value: true | false
extern const std::string PREF_SHOW_CONSOLE_READOUT;
// value: default | inorder
// value: default | inorder | geom
extern const std::string PREF_STREAM_PIECE_SELECTOR;
// value: true | false
extern const std::string PREF_TRUNCATE_CONSOLE_READOUT;