MCPcopy Create free account
hub / github.com/ceph/ceph / do_read_request

Method do_read_request

src/test/msgr/test_async_networkstack.cc:839–859  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

837 center->dispatch_event_external(new C_delete<Server>(this));
838 }
839 void do_read_request() {
840 if (dead)
841 return ;
842 int r = 0;
843 while (true) {
844 char buf[4096];
845 bufferptr data;
846 r = socket.read(buf, sizeof(buf));
847 ASSERT_TRUE(r == -EAGAIN || (r >= 0 && (size_t)r <= sizeof(buf)));
848 if (r == 0) {
849 ASSERT_TRUE(buffers.empty());
850 dead = true;
851 return ;
852 } else if (r == -EAGAIN)
853 break;
854 buffers.emplace_back(buf, 0, r);
855 std::cerr << " server " << this << " receive " << r << " content: " << std::endl;
856 }
857 if (!buffers.empty() && !write_enabled)
858 center->dispatch_event_external(&write_ctxt);
859 }
860
861 void do_write_request() {
862 if (dead)

Callers

nothing calls this directly

Calls 4

readMethod · 0.45
emptyMethod · 0.45
emplace_backMethod · 0.45

Tested by

no test coverage detected