|
|
|
@ -111,7 +111,6 @@ class ClientReader final : public ClientStreamingInterface, |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
virtual bool Read(R *msg) override { |
|
|
|
|
WaitForInitialMetadata(); |
|
|
|
|
CallOpBuffer buf; |
|
|
|
@ -255,7 +254,14 @@ class ClientReaderWriter final : public ClientStreamingInterface, |
|
|
|
|
template <class R> |
|
|
|
|
class ServerReader final : public ReaderInterface<R> { |
|
|
|
|
public: |
|
|
|
|
explicit ServerReader(Call* call, ServerContext* ctx) : call_(call), ctx_(ctx) {} |
|
|
|
|
ServerReader(Call* call, ServerContext* ctx) : call_(call), ctx_(ctx) {} |
|
|
|
|
|
|
|
|
|
void SendInitialMetadata() { |
|
|
|
|
CallOpBuffer buf; |
|
|
|
|
ctx_->SendInitialMetadataIfNeeded(&buf); |
|
|
|
|
call_->PerformOps(&buf); |
|
|
|
|
return call_->cq()->Pluck(&buf); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
virtual bool Read(R* msg) override { |
|
|
|
|
CallOpBuffer buf; |
|
|
|
@ -273,7 +279,14 @@ class ServerReader final : public ReaderInterface<R> { |
|
|
|
|
template <class W> |
|
|
|
|
class ServerWriter final : public WriterInterface<W> { |
|
|
|
|
public: |
|
|
|
|
explicit ServerWriter(Call* call, ServerContext* ctx) : call_(call), ctx_(ctx) {} |
|
|
|
|
ServerWriter(Call* call, ServerContext* ctx) : call_(call), ctx_(ctx) {} |
|
|
|
|
|
|
|
|
|
void SendInitialMetadata() { |
|
|
|
|
CallOpBuffer buf; |
|
|
|
|
ctx_->SendInitialMetadataIfNeeded(&buf); |
|
|
|
|
call_->PerformOps(&buf); |
|
|
|
|
return call_->cq()->Pluck(&buf); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
virtual bool Write(const W& msg) override { |
|
|
|
|
CallOpBuffer buf; |
|
|
|
@ -293,7 +306,14 @@ template <class W, class R> |
|
|
|
|
class ServerReaderWriter final : public WriterInterface<W>, |
|
|
|
|
public ReaderInterface<R> { |
|
|
|
|
public: |
|
|
|
|
explicit ServerReaderWriter(Call* call, ServerContext* ctx) : call_(call), ctx_(ctx) {} |
|
|
|
|
ServerReaderWriter(Call* call, ServerContext* ctx) : call_(call), ctx_(ctx) {} |
|
|
|
|
|
|
|
|
|
void SendInitialMetadata() { |
|
|
|
|
CallOpBuffer buf; |
|
|
|
|
ctx_->SendInitialMetadataIfNeeded(&buf); |
|
|
|
|
call_->PerformOps(&buf); |
|
|
|
|
return call_->cq()->Pluck(&buf); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
virtual bool Read(R* msg) override { |
|
|
|
|
CallOpBuffer buf; |
|
|
|
|