]> git.sesse.net Git - cubemap/blobdiff - client.cpp
Fix serialization of Client::header_or_short_response_bytes_sent.
[cubemap] / client.cpp
index 05b8e7d88fcd0b622e2386e84b83abedf0687a24..f02050b5588901fd31142558134899f59512464b 100644 (file)
@@ -20,11 +20,6 @@ Client::Client(int sock)
 {
        request.reserve(1024);
 
-       if (clock_gettime(CLOCK_MONOTONIC_COARSE, &connect_time) == -1) {
-               log_perror("clock_gettime(CLOCK_MONOTONIC_COARSE)");
-               return;
-       }
-
        // Find the remote address, and convert it to ASCII.
        sockaddr_in6 addr;
        socklen_t addr_len = sizeof(addr);
@@ -59,10 +54,13 @@ Client::Client(const ClientProto &serialized, const vector<shared_ptr<const stri
          remote_addr(serialized.remote_addr()),
          referer(serialized.referer()),
          user_agent(serialized.user_agent()),
+         x_playback_session_id(serialized.x_playback_session_id()),
          state(State(serialized.state())),
          request(serialized.request()),
          url(serialized.url()),
          stream(stream),
+         close_after_response(serialized.close_after_response()),
+         http_11(serialized.http_11()),
          header_or_short_response_bytes_sent(serialized.header_or_short_response_bytes_sent()),
          stream_pos(serialized.stream_pos()),
          stream_pos_end(serialized.stream_pos_end()),
@@ -122,6 +120,7 @@ ClientProto Client::serialize(unordered_map<const string *, size_t> *short_respo
        serialized.set_remote_addr(remote_addr);
        serialized.set_referer(referer);
        serialized.set_user_agent(user_agent);
+       serialized.set_x_playback_session_id(x_playback_session_id);
        serialized.set_connect_time_sec(connect_time.tv_sec);
        serialized.set_connect_time_nsec(connect_time.tv_nsec);
        serialized.set_state(state);
@@ -135,12 +134,14 @@ ClientProto Client::serialize(unordered_map<const string *, size_t> *short_respo
                serialized.set_header_or_short_response_index(iterator_and_inserted.first->second);
        }
 
-       serialized.set_header_or_short_response_bytes_sent(serialized.header_or_short_response_bytes_sent());
+       serialized.set_header_or_short_response_bytes_sent(header_or_short_response_bytes_sent);
        serialized.set_stream_pos(stream_pos);
        serialized.set_stream_pos_end(stream_pos_end);
        serialized.set_bytes_sent(bytes_sent);
        serialized.set_bytes_lost(bytes_lost);
        serialized.set_num_loss_events(num_loss_events);
+       serialized.set_http_11(http_11);
+       serialized.set_close_after_response(close_after_response);
 
        if (tls_context != nullptr) {
                bool small_version = false;
@@ -218,5 +219,6 @@ ClientStats Client::get_stats() const
        stats.bytes_sent = bytes_sent;
        stats.bytes_lost = bytes_lost;
        stats.num_loss_events = num_loss_events;
+       stats.hls_zombie_key = get_hls_zombie_key();
        return stats;
 }