|
1 | 1 | #pragma once
|
2 | 2 |
|
3 | 3 | #include <chrono>
|
| 4 | +#include <memory> |
4 | 5 |
|
5 | 6 | #include "envoy/grpc/async_client.h"
|
6 | 7 |
|
@@ -62,17 +63,19 @@ template <typename Request> class AsyncStream /* : public RawAsyncStream */ {
|
62 | 63 | RawAsyncStream* stream_{};
|
63 | 64 | };
|
64 | 65 |
|
| 66 | +template <typename Response> using ResponsePtr = std::unique_ptr<Response>; |
| 67 | + |
65 | 68 | /**
|
66 | 69 | * Convenience subclasses for AsyncRequestCallbacks.
|
67 | 70 | */
|
68 | 71 | template <typename Response> class AsyncRequestCallbacks : public RawAsyncRequestCallbacks {
|
69 | 72 | public:
|
70 | 73 | ~AsyncRequestCallbacks() override = default;
|
71 |
| - virtual void onSuccess(std::unique_ptr<Response>&& response, Tracing::Span& span) PURE; |
| 74 | + virtual void onSuccess(ResponsePtr<Response>&& response, Tracing::Span& span) PURE; |
72 | 75 |
|
73 | 76 | private:
|
74 | 77 | void onSuccessRaw(Buffer::InstancePtr&& response, Tracing::Span& span) override {
|
75 |
| - auto message = std::unique_ptr<Response>(dynamic_cast<Response*>( |
| 78 | + auto message = ResponsePtr<Response>(dynamic_cast<Response*>( |
76 | 79 | Internal::parseMessageUntyped(std::make_unique<Response>(), std::move(response))
|
77 | 80 | .release()));
|
78 | 81 | if (!message) {
|
@@ -138,11 +141,11 @@ class VersionedMethods {
|
138 | 141 | template <typename Response> class AsyncStreamCallbacks : public RawAsyncStreamCallbacks {
|
139 | 142 | public:
|
140 | 143 | ~AsyncStreamCallbacks() override = default;
|
141 |
| - virtual void onReceiveMessage(std::unique_ptr<Response>&& message) PURE; |
| 144 | + virtual void onReceiveMessage(ResponsePtr<Response>&& message) PURE; |
142 | 145 |
|
143 | 146 | private:
|
144 | 147 | bool onReceiveMessageRaw(Buffer::InstancePtr&& response) override {
|
145 |
| - auto message = std::unique_ptr<Response>(dynamic_cast<Response*>( |
| 148 | + auto message = ResponsePtr<Response>(dynamic_cast<Response*>( |
146 | 149 | Internal::parseMessageUntyped(std::make_unique<Response>(), std::move(response))
|
147 | 150 | .release()));
|
148 | 151 | if (!message) {
|
|
0 commit comments