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

Function process_server_socket_core

examples/server/httplib.h:2888–2904  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2886
2887template <typename T>
2888inline bool
2889process_server_socket_core(const std::atomic<socket_t> &svr_sock, socket_t sock,
2890 size_t keep_alive_max_count,
2891 time_t keep_alive_timeout_sec, T callback) {
2892 assert(keep_alive_max_count > 0);
2893 auto ret = false;
2894 auto count = keep_alive_max_count;
2895 while (svr_sock != INVALID_SOCKET && count > 0 &&
2896 keep_alive(sock, keep_alive_timeout_sec)) {
2897 auto close_connection = count == 1;
2898 auto connection_closed = false;
2899 ret = callback(close_connection, connection_closed);
2900 if (!ret || connection_closed) { break; }
2901 count--;
2902 }
2903 return ret;
2904}
2905
2906template <typename T>
2907inline bool

Callers 2

process_server_socketFunction · 0.85

Calls 1

keep_aliveFunction · 0.85

Tested by

no test coverage detected