|
|
|
@ -39,9 +39,14 @@ class RpcAllocatorState { |
|
|
|
|
template <typename RequestT, typename ResponseT> |
|
|
|
|
class MessageHolder : public RpcAllocatorState { |
|
|
|
|
public: |
|
|
|
|
virtual void Release() { delete this; } |
|
|
|
|
// Release this object. For example, if the custom allocator's
|
|
|
|
|
// AllocateMessasge creates an instance of a subclass with new, the Release()
|
|
|
|
|
// should do a "delete this;".
|
|
|
|
|
virtual void Release() = 0; |
|
|
|
|
RequestT* request() { return request_; } |
|
|
|
|
ResponseT* response() { return response_; } |
|
|
|
|
|
|
|
|
|
protected: |
|
|
|
|
void set_request(RequestT* request) { request_ = request; } |
|
|
|
|
void set_response(ResponseT* response) { response_ = response; } |
|
|
|
|
|
|
|
|
|