/proc/self/cwd/test/mocks/http/stream.h
Line | Count | Source (jump to first uncovered line) |
1 | | #pragma once |
2 | | |
3 | | #include "envoy/http/codec.h" |
4 | | |
5 | | #include "source/common/network/socket_impl.h" |
6 | | |
7 | | #include "gmock/gmock.h" |
8 | | |
9 | | namespace Envoy { |
10 | | namespace Http { |
11 | | |
12 | | class MockStream : public Stream { |
13 | | public: |
14 | | MockStream(); |
15 | | ~MockStream() override; |
16 | | |
17 | | // Http::Stream |
18 | | MOCK_METHOD(void, addCallbacks, (StreamCallbacks & callbacks)); |
19 | | MOCK_METHOD(void, removeCallbacks, (StreamCallbacks & callbacks)); |
20 | | MOCK_METHOD(CodecEventCallbacks*, registerCodecEventCallbacks, (CodecEventCallbacks * adapter)); |
21 | | MOCK_METHOD(void, resetStream, (StreamResetReason reason)); |
22 | | MOCK_METHOD(void, readDisable, (bool disable)); |
23 | | MOCK_METHOD(void, setWriteBufferWatermarks, (uint32_t)); |
24 | | MOCK_METHOD(uint32_t, bufferLimit, (), (const)); |
25 | | MOCK_METHOD(const Network::ConnectionInfoProvider&, connectionInfoProvider, ()); |
26 | | MOCK_METHOD(void, setFlushTimeout, (std::chrono::milliseconds timeout)); |
27 | | MOCK_METHOD(Buffer::BufferMemoryAccountSharedPtr, account, (), (const)); |
28 | | MOCK_METHOD(void, setAccount, (Buffer::BufferMemoryAccountSharedPtr)); |
29 | | |
30 | | // Use the same underlying structure as StreamCallbackHelper to insure iteration stability |
31 | | // if we remove callbacks during iteration. |
32 | | absl::InlinedVector<StreamCallbacks*, 8> callbacks_; |
33 | | Network::ConnectionInfoSetterImpl connection_info_provider_; |
34 | | Buffer::BufferMemoryAccountSharedPtr account_; |
35 | | |
36 | 0 | void runHighWatermarkCallbacks() { |
37 | 0 | for (auto* callback : callbacks_) { |
38 | 0 | if (callback) { |
39 | 0 | callback->onAboveWriteBufferHighWatermark(); |
40 | 0 | } |
41 | 0 | } |
42 | 0 | } |
43 | | |
44 | 0 | void runLowWatermarkCallbacks() { |
45 | 0 | for (auto* callback : callbacks_) { |
46 | 0 | if (callback) { |
47 | 0 | callback->onBelowWriteBufferLowWatermark(); |
48 | 0 | } |
49 | 0 | } |
50 | 0 | } |
51 | | |
52 | 170k | const StreamInfo::BytesMeterSharedPtr& bytesMeter() override { return bytes_meter_; } |
53 | | |
54 | | CodecEventCallbacks* codec_callbacks_{nullptr}; |
55 | | StreamInfo::BytesMeterSharedPtr bytes_meter_{std::make_shared<StreamInfo::BytesMeter>()}; |
56 | | }; |
57 | | |
58 | | } // namespace Http |
59 | | } // namespace Envoy |