summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@250bpm.com>2010-08-28 13:18:53 +0200
committerMartin Sustrik <sustrik@250bpm.com>2010-08-28 13:18:53 +0200
commitbeea535f9d7ff210ea035de190c0d87184ee1963 (patch)
treecfa5f33b45a75144be7e14ebbd4d7f63bfee80d8 /src
parentd8b975f4e73ae940c0c0f9c8c6c7aac1199fee09 (diff)
swap's block size made into a compile-time parameter
Diffstat (limited to 'src')
-rw-r--r--src/config.hpp4
-rw-r--r--src/swap.cpp5
-rw-r--r--src/swap.hpp2
3 files changed, 8 insertions, 3 deletions
diff --git a/src/config.hpp b/src/config.hpp
index 83e612a..0fe7c57 100644
--- a/src/config.hpp
+++ b/src/config.hpp
@@ -62,6 +62,10 @@ namespace zmq
// Maximal delta between high and low watermark.
max_wm_delta = 1024,
+ // Swap inteligently batches data for writing to disk. The size of
+ // the batch in bytes is specified by this option.
+ swap_block_size = 8192,
+
// Maximum number of events the I/O thread can process in one go.
max_io_events = 256,
diff --git a/src/swap.cpp b/src/swap.cpp
index cf73576..7a2234d 100644
--- a/src/swap.cpp
+++ b/src/swap.cpp
@@ -36,16 +36,17 @@
#include <algorithm>
#include "swap.hpp"
+#include "config.hpp"
#include "atomic_counter.hpp"
#include "err.hpp"
-zmq::swap_t::swap_t (int64_t filesize_, size_t block_size_) :
+zmq::swap_t::swap_t (int64_t filesize_) :
fd (-1),
filesize (filesize_),
file_pos (0),
write_pos (0),
read_pos (0),
- block_size (block_size_),
+ block_size (swap_block_size),
write_buf_start_addr (0)
{
zmq_assert (filesize > 0);
diff --git a/src/swap.hpp b/src/swap.hpp
index c9dfd99..76ad339 100644
--- a/src/swap.hpp
+++ b/src/swap.hpp
@@ -38,7 +38,7 @@ namespace zmq
enum { default_block_size = 8192 };
// Creates the swap.
- swap_t (int64_t filesize_, size_t block_size_ = default_block_size);
+ swap_t (int64_t filesize_);
~swap_t ();