Buffer pool C++ wrapper
diff --git a/include/grpc++/server_builder.h b/include/grpc++/server_builder.h
index 37f1f8c..282d49c 100644
--- a/include/grpc++/server_builder.h
+++ b/include/grpc++/server_builder.h
@@ -43,9 +43,12 @@
 #include <grpc++/support/config.h>
 #include <grpc/compression.h>
 
+struct grpc_buffer_pool;
+
 namespace grpc {
 
 class AsyncGenericService;
+class BufferPool;
 class CompletionQueue;
 class RpcService;
 class Server;
@@ -61,6 +64,7 @@
 class ServerBuilder {
  public:
   ServerBuilder();
+  ~ServerBuilder();
 
   /// Register a service. This call does not take ownership of the service.
   /// The service must exist for the lifetime of the \a Server instance returned
@@ -113,6 +117,9 @@
   ServerBuilder& SetDefaultCompressionAlgorithm(
       grpc_compression_algorithm algorithm);
 
+  /// Set the attached buffer pool for this server
+  ServerBuilder& SetBufferPool(const BufferPool& buffer_pool);
+
   ServerBuilder& SetOption(std::unique_ptr<ServerBuilderOption> option);
 
   /// Tries to bind \a server to the given \a addr.
@@ -187,6 +194,7 @@
   std::vector<ServerCompletionQueue*> cqs_;
   std::shared_ptr<ServerCredentials> creds_;
   std::vector<std::unique_ptr<ServerBuilderPlugin>> plugins_;
+  grpc_buffer_pool* buffer_pool_;
   AsyncGenericService* generic_service_;
   struct {
     bool is_set;