susumu.yata
null+****@clear*****
Wed May 15 17:30:17 JST 2013
susumu.yata 2013-05-15 17:30:17 +0900 (Wed, 15 May 2013) New Revision: f5d6851041903055b6c10678bc2bf7fe0f3e2519 https://github.com/groonga/grnxx/commit/f5d6851041903055b6c10678bc2bf7fe0f3e2519 Message: Move #include "grnxx/storage.hpp" from *.hpp to *.cpp. Modified files: lib/grnxx/array/array_1d.cpp lib/grnxx/array/array_1d.hpp lib/grnxx/array/array_2d.cpp lib/grnxx/array/array_2d.hpp lib/grnxx/array/array_3d.cpp lib/grnxx/array/array_3d.hpp Modified: lib/grnxx/array/array_1d.cpp (+13 -9) =================================================================== --- lib/grnxx/array/array_1d.cpp 2013-05-15 17:14:31 +0900 (199bf4c) +++ lib/grnxx/array/array_1d.cpp 2013-05-15 17:30:17 +0900 (1fbce3b) @@ -21,6 +21,7 @@ #include <new> #include "grnxx/logger.hpp" +#include "grnxx/storage.hpp" namespace grnxx { @@ -38,7 +39,7 @@ Array1DHeader::Array1DHeader(uint64_t value_size, uint64_t page_size) page_storage_node_id(STORAGE_INVALID_NODE_ID) {} Array1D::Array1D() - : storage_node_(), + : storage_node_id_(STORAGE_INVALID_NODE_ID), header_(nullptr), page_(nullptr) {} @@ -99,16 +100,18 @@ bool Array1D::unlink(Storage *storage, uint32_t storage_node_id, bool Array1D::create_array(Storage *storage, uint32_t storage_node_id, uint64_t value_size, uint64_t page_size, const void *default_value, FillPage fill_page) { - storage_node_ = storage->create_node(storage_node_id, sizeof(Array1DHeader)); - if (!storage_node_) { + StorageNode storage_node = + storage->create_node(storage_node_id, sizeof(Array1DHeader)); + if (!storage_node) { return false; } - header_ = static_cast<Array1DHeader *>(storage_node_.body()); + storage_node_id_ = storage_node.id(); + header_ = static_cast<Array1DHeader *>(storage_node.body()); *header_ = Array1DHeader(value_size, page_size); StorageNode page_node = - storage->create_node(storage_node_.id(), value_size * page_size); + storage->create_node(storage_node_id_, value_size * page_size); if (!page_node) { - storage->unlink_node(storage_node_.id()); + storage->unlink_node(storage_node_id_); return false; } header_->page_storage_node_id = page_node.id(); @@ -121,11 +124,12 @@ bool Array1D::create_array(Storage *storage, uint32_t storage_node_id, bool Array1D::open_array(Storage *storage, uint32_t storage_node_id, uint64_t value_size, uint64_t page_size) { - storage_node_ = storage->open_node(storage_node_id); - if (!storage_node_) { + StorageNode storage_node = storage->open_node(storage_node_id); + if (!storage_node) { return false; } - header_ = static_cast<Array1DHeader *>(storage_node_.body()); + storage_node_id_ = storage_node.id(); + header_ = static_cast<Array1DHeader *>(storage_node.body()); if (header_->value_size != value_size) { GRNXX_ERROR() << "parameter conflict: value_size = " << value_size << ", stored_value_size = " << header_->value_size; Modified: lib/grnxx/array/array_1d.hpp (+4 -3) =================================================================== --- lib/grnxx/array/array_1d.hpp 2013-05-15 17:14:31 +0900 (1d5702c) +++ lib/grnxx/array/array_1d.hpp 2013-05-15 17:30:17 +0900 (793c151) @@ -19,11 +19,12 @@ #define GRNXX_ARRAY_ARRAY_1D_HPP #include "grnxx/features.hpp" -#include "grnxx/storage.hpp" #include "grnxx/types.hpp" namespace grnxx { +class Storage; + struct Array1DHeader; class Array1D { @@ -45,7 +46,7 @@ class Array1D { uint64_t value_size, uint64_t page_size); uint32_t storage_node_id() const { - return storage_node_.id(); + return storage_node_id_; } template <typename T> @@ -54,7 +55,7 @@ class Array1D { } private: - StorageNode storage_node_; + uint32_t storage_node_id_; Array1DHeader *header_; void *page_; Modified: lib/grnxx/array/array_2d.cpp (+14 -10) =================================================================== --- lib/grnxx/array/array_2d.cpp 2013-05-15 17:14:31 +0900 (f141fc2) +++ lib/grnxx/array/array_2d.cpp 2013-05-15 17:30:17 +0900 (d4e2bdc) @@ -23,6 +23,7 @@ #include "grnxx/exception.hpp" #include "grnxx/lock.hpp" #include "grnxx/logger.hpp" +#include "grnxx/storage.hpp" namespace grnxx { @@ -49,7 +50,7 @@ Array2DHeader::Array2DHeader(uint64_t value_size, uint64_t page_size, Array2D::Array2D() : storage_(nullptr), - storage_node_(), + storage_node_id_(STORAGE_INVALID_NODE_ID), header_(nullptr), default_value_(nullptr), fill_page_(nullptr), @@ -129,11 +130,13 @@ bool Array2D::create_array(Storage *storage, uint32_t storage_node_id, if (default_value) { storage_node_size += value_size; } - storage_node_ = storage->create_node(storage_node_id, storage_node_size); - if (!storage_node_) { + StorageNode storage_node = + storage->create_node(storage_node_id, storage_node_size); + if (!storage_node) { return false; } - header_ = static_cast<Array2DHeader *>(storage_node_.body()); + storage_node_id_ = storage_node.id(); + header_ = static_cast<Array2DHeader *>(storage_node.body()); *header_ = Array2DHeader(value_size, page_size, table_size, default_value); if (default_value) { default_value_ = header_ + 1; @@ -141,9 +144,9 @@ bool Array2D::create_array(Storage *storage, uint32_t storage_node_id, fill_page_ = fill_page; } StorageNode table_node = - storage->create_node(storage_node_.id(), sizeof(uint32_t) * table_size); + storage->create_node(storage_node_id_, sizeof(uint32_t) * table_size); if (!table_node) { - storage->unlink_node(storage_node_.id()); + storage->unlink_node(storage_node_id_); return false; } header_->table_storage_node_id = table_node.id(); @@ -154,7 +157,7 @@ bool Array2D::create_array(Storage *storage, uint32_t storage_node_id, table_cache_.reset(new (std::nothrow) void *[table_size]); if (!table_cache_) { GRNXX_ERROR() << "new void *[] failed: size = " << table_size; - storage->unlink_node(storage_node_.id()); + storage->unlink_node(storage_node_id_); return false; } for (uint64_t i = 0; i < table_size; ++i) { @@ -167,11 +170,12 @@ bool Array2D::open_array(Storage *storage, uint32_t storage_node_id, uint64_t value_size, uint64_t page_size, uint64_t table_size, FillPage fill_page) { storage_ = storage; - storage_node_ = storage->open_node(storage_node_id); - if (!storage_node_) { + StorageNode storage_node = storage->open_node(storage_node_id); + if (!storage_node) { return false; } - header_ = static_cast<Array2DHeader *>(storage_node_.body()); + storage_node_id_ = storage_node.id(); + header_ = static_cast<Array2DHeader *>(storage_node.body()); if (header_->value_size != value_size) { GRNXX_ERROR() << "parameter conflict: value_size = " << value_size << ", stored_value_size = " << header_->value_size; Modified: lib/grnxx/array/array_2d.hpp (+4 -3) =================================================================== --- lib/grnxx/array/array_2d.hpp 2013-05-15 17:14:31 +0900 (7310d96) +++ lib/grnxx/array/array_2d.hpp 2013-05-15 17:30:17 +0900 (8778f9b) @@ -23,11 +23,12 @@ #include <memory> #include "grnxx/mutex.hpp" -#include "grnxx/storage.hpp" #include "grnxx/types.hpp" namespace grnxx { +class Storage; + struct Array2DHeader; class Array2D { @@ -52,7 +53,7 @@ class Array2D { uint64_t table_size); uint32_t storage_node_id() const { - return storage_node_.id(); + return storage_node_id_; } template <typename T, uint64_t TABLE_SIZE> @@ -75,7 +76,7 @@ class Array2D { private: Storage *storage_; - StorageNode storage_node_; + uint32_t storage_node_id_; Array2DHeader *header_; void *default_value_; FillPage fill_page_; Modified: lib/grnxx/array/array_3d.cpp (+13 -9) =================================================================== --- lib/grnxx/array/array_3d.cpp 2013-05-15 17:14:31 +0900 (768fc91) +++ lib/grnxx/array/array_3d.cpp 2013-05-15 17:30:17 +0900 (e152d2d) @@ -23,6 +23,7 @@ #include "grnxx/exception.hpp" #include "grnxx/lock.hpp" #include "grnxx/logger.hpp" +#include "grnxx/storage.hpp" namespace grnxx { @@ -57,7 +58,7 @@ Array3DHeader::Array3DHeader(uint64_t value_size, uint64_t page_size, Array3D::Array3D() : storage_(nullptr), - storage_node_(), + storage_node_id_(STORAGE_INVALID_NODE_ID), header_(nullptr), default_value_(nullptr), fill_page_(nullptr), @@ -141,11 +142,13 @@ bool Array3D::create_array(Storage *storage, uint32_t storage_node_id, if (default_value) { storage_node_size += value_size; } - storage_node_ = storage->create_node(storage_node_id, storage_node_size); - if (!storage_node_) { + StorageNode storage_node = + storage->create_node(storage_node_id, storage_node_size); + if (!storage_node) { return false; } - header_ = static_cast<Array3DHeader *>(storage_node_.body()); + storage_node_id_ = storage_node.id(); + header_ = static_cast<Array3DHeader *>(storage_node.body()); *header_ = Array3DHeader(value_size, page_size, table_size, secondary_table_size, default_value); if (default_value) { @@ -158,7 +161,7 @@ bool Array3D::create_array(Storage *storage, uint32_t storage_node_id, if (!table_caches_) { GRNXX_ERROR() << "new std::unique_ptr<void *[]>[] failed: size = " << secondary_table_size; - storage->unlink_node(storage_node_.id()); + storage->unlink_node(storage_node_id_); return false; } return true; @@ -169,11 +172,12 @@ bool Array3D::open_array(Storage *storage, uint32_t storage_node_id, uint64_t table_size, uint64_t secondary_table_size, FillPage fill_page) { storage_ = storage; - storage_node_ = storage->open_node(storage_node_id); - if (!storage_node_) { + StorageNode storage_node = storage->open_node(storage_node_id); + if (!storage_node) { return false; } - header_ = static_cast<Array3DHeader *>(storage_node_.body()); + storage_node_id_ = storage_node.id(); + header_ = static_cast<Array3DHeader *>(storage_node.body()); if (header_->value_size != value_size) { GRNXX_ERROR() << "parameter conflict: value_size = " << value_size << ", stored_value_size = " << header_->value_size; @@ -301,7 +305,7 @@ bool Array3D::initialize_secondary_table() { const uint64_t secondary_table_size = sizeof(uint32_t) * header_->secondary_table_size; StorageNode secondary_table_node = - storage_->create_node(storage_node_.id(), secondary_table_size); + storage_->create_node(storage_node_id_, secondary_table_size); if (!secondary_table_node) { return false; } Modified: lib/grnxx/array/array_3d.hpp (+4 -3) =================================================================== --- lib/grnxx/array/array_3d.hpp 2013-05-15 17:14:31 +0900 (3d48bf4) +++ lib/grnxx/array/array_3d.hpp 2013-05-15 17:30:17 +0900 (0852efa) @@ -23,11 +23,12 @@ #include <memory> #include "grnxx/mutex.hpp" -#include "grnxx/storage.hpp" #include "grnxx/types.hpp" namespace grnxx { +class Storage; + struct Array3DHeader; class Array3D { @@ -53,7 +54,7 @@ class Array3D { uint64_t table_size, uint64_t secondary_table_size); uint32_t storage_node_id() const { - return storage_node_.id(); + return storage_node_id_; } template <typename T, uint64_t TABLE_SIZE, uint64_t SECONDARY_TABLE_SIZE> @@ -80,7 +81,7 @@ class Array3D { private: Storage *storage_; - StorageNode storage_node_; + uint32_t storage_node_id_; Array3DHeader *header_; void *default_value_; FillPage fill_page_; -------------- next part -------------- HTML����������������������������... Télécharger