mirror of
https://github.com/codership/wsrep-lib.git
synced 2025-07-28 20:02:00 +03:00
* Unit test for SR 2PC
* Removed redundant data class * Introduced const_buffer and mutable_buffer * Transaction context and client context interface refactoring
This commit is contained in:
@ -5,27 +5,52 @@
|
||||
#ifndef WSREP_BUFFER_HPP
|
||||
#define WSREP_BUFFER_HPP
|
||||
|
||||
#include <vector>
|
||||
|
||||
namespace wsrep
|
||||
{
|
||||
class buffer
|
||||
class const_buffer
|
||||
{
|
||||
public:
|
||||
buffer()
|
||||
const_buffer()
|
||||
: ptr_()
|
||||
, size_()
|
||||
{ }
|
||||
buffer(const void* ptr, size_t size)
|
||||
|
||||
const_buffer(const void* ptr, size_t size)
|
||||
: ptr_(ptr)
|
||||
, size_(size)
|
||||
{ }
|
||||
|
||||
const void* ptr() const { return ptr_; }
|
||||
const void* data() const { return ptr_; }
|
||||
size_t size() const { return size_; }
|
||||
|
||||
private:
|
||||
// const_buffer(const const_buffer&);
|
||||
// const_buffer& operator=(const const_buffer&);
|
||||
const void* ptr_;
|
||||
size_t size_;
|
||||
};
|
||||
|
||||
|
||||
class mutable_buffer
|
||||
{
|
||||
public:
|
||||
mutable_buffer()
|
||||
: buffer_()
|
||||
{ }
|
||||
|
||||
void push_back(const char* begin, const char* end)
|
||||
{
|
||||
buffer_.insert(buffer_.end(), begin, end);
|
||||
}
|
||||
const char* data() const { return &buffer_[0]; }
|
||||
size_t size() const { return buffer_.size(); }
|
||||
private:
|
||||
std::vector<char> buffer_;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // WSREP_BUFFER_HPP
|
||||
|
Reference in New Issue
Block a user