diff --git a/src/config.hpp b/src/config.hpp index 83e612ac..0fe7c575 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 cf735762..7a2234d4 100644 --- a/src/swap.cpp +++ b/src/swap.cpp @@ -36,16 +36,17 @@ #include #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 c9dfd997..76ad339c 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 ();