X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=server.cpp;h=35cb9d6bce869b354f73b96f1824e004cf1835ec;hp=4773b479b92047b0be10f87095e14605799e4db1;hb=7ec54788f88dde7b083ba6cfd30732b32295b54a;hpb=980ac162414c9fce62af4fdb9cfc282865b31572 diff --git a/server.cpp b/server.cpp index 4773b47..35cb9d6 100644 --- a/server.cpp +++ b/server.cpp @@ -460,6 +460,13 @@ void Server::set_header(int stream_index, const string &http_header, const strin assert(stream_index >= 0 && stream_index < ssize_t(streams.size())); streams[stream_index]->set_header(http_header, stream_header); } + +void Server::set_unavailable(int stream_index) +{ + lock_guard lock(mu); + assert(stream_index >= 0 && stream_index < ssize_t(streams.size())); + streams[stream_index]->set_unavailable(); +} void Server::set_pacing_rate(int stream_index, uint32_t pacing_rate) { @@ -1108,7 +1115,7 @@ int Server::parse_request(Client *client) } if (client->stream_pos_end == Client::STREAM_POS_NO_END) { - if (stream->http_header.empty()) { + if (stream->unavailable) { return 503; // Service unavailable. }