aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/grpc++/byte_buffer.h
diff options
context:
space:
mode:
authorGravatar Yang Gao <yangg@google.com>2015-03-10 12:42:18 -0700
committerGravatar Yang Gao <yangg@google.com>2015-03-10 12:42:18 -0700
commit61c413182dafc3d58874a62256b130d8df7bd77d (patch)
tree98e5e19f9ae3c93379f4f1cfd23fac5384f8a5d9 /include/grpc++/byte_buffer.h
parent5f4539f4e8be43c477bad8fba84c6ce6c125a120 (diff)
initial imple of byte buffer and slice
Diffstat (limited to 'include/grpc++/byte_buffer.h')
-rw-r--r--include/grpc++/byte_buffer.h24
1 files changed, 18 insertions, 6 deletions
diff --git a/include/grpc++/byte_buffer.h b/include/grpc++/byte_buffer.h
index 36b301fd9d..e864ca3bba 100644
--- a/include/grpc++/byte_buffer.h
+++ b/include/grpc++/byte_buffer.h
@@ -31,12 +31,15 @@
*
*/
-#ifndef __GRPCPP_BYTE_BUFFER_H_
-#define __GRPCPP_BYTE_BUFFER_H_
+#ifndef GRPCXX_BYTE_BUFFER_H
+#define GRPCXX_BYTE_BUFFER_H
#include <grpc/grpc.h>
#include <grpc/support/log.h>
#include <grpc++/config.h>
+#include <grpc++/slice.h>
+
+#include <vector>
namespace grpc {
@@ -44,29 +47,38 @@ class ByteBuffer GRPC_FINAL {
public:
ByteBuffer() : buffer_(nullptr) {}
+ ByteBuffer(Slice* slices, size_t nslices);
+
~ByteBuffer() {
if (buffer_) {
grpc_byte_buffer_destroy(buffer_);
}
}
+ void Dump(std::vector<Slice>* slices);
+
+ void Clear();
+ size_t Length();
+
private:
friend class CallOpBuffer;
// takes ownership
void set_buffer(grpc_byte_buffer* buf) {
- GPR_ASSERT(!buffer_);
+ if (buffer_) {
+ gpr_log(GPR_ERROR, "Overriding existing buffer");
+ Clear();
+ }
buffer_ = buf;
}
grpc_byte_buffer* buffer() const {
- GPR_ASSERT(buffer_);
return buffer_;
}
grpc_byte_buffer* buffer_;
};
-} // namespace
+} // namespace grpc
-#endif
+#endif // GRPCXX_BYTE_BUFFER_H