MCPcopy Create free account
hub / github.com/PABannier/bark.cpp / SocketStream

Class SocketStream

examples/server/httplib.h:2814–2840  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2812}
2813
2814class SocketStream : public Stream {
2815public:
2816 SocketStream(socket_t sock, time_t read_timeout_sec, time_t read_timeout_usec,
2817 time_t write_timeout_sec, time_t write_timeout_usec);
2818 ~SocketStream() override;
2819
2820 bool is_readable() const override;
2821 bool is_writable() const override;
2822 ssize_t read(char *ptr, size_t size) override;
2823 ssize_t write(const char *ptr, size_t size) override;
2824 void get_remote_ip_and_port(std::string &ip, int &port) const override;
2825 void get_local_ip_and_port(std::string &ip, int &port) const override;
2826 socket_t socket() const override;
2827
2828private:
2829 socket_t sock_;
2830 time_t read_timeout_sec_;
2831 time_t read_timeout_usec_;
2832 time_t write_timeout_sec_;
2833 time_t write_timeout_usec_;
2834
2835 std::vector<char> read_buff_;
2836 size_t read_buff_off_ = 0;
2837 size_t read_buff_content_size_ = 0;
2838
2839 static const size_t read_buff_size_ = 1024 * 4;
2840};
2841
2842#ifdef CPPHTTPLIB_OPENSSL_SUPPORT
2843class SSLSocketStream : public Stream {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected