From beea535f9d7ff210ea035de190c0d87184ee1963 Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Sat, 28 Aug 2010 13:18:53 +0200 Subject: swap's block size made into a compile-time parameter --- src/config.hpp | 4 ++++ src/swap.cpp | 5 +++-- src/swap.hpp | 2 +- 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 #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 (); -- cgit v1.2.3