X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=stream.cpp;h=0c0fabac29c90f99330cfc8c5d634f3c78321f95;hp=ae313087e003ac236d7b6134950e32e441582f8c;hb=c0ffd43e514e6392835ef85529423744263809af;hpb=6d72705df23fbdb0eccb085ff984cd93c38e4166 diff --git a/stream.cpp b/stream.cpp index ae31308..0c0faba 100644 --- a/stream.cpp +++ b/stream.cpp @@ -3,7 +3,7 @@ #include #include #include -#include +#include #include #include @@ -15,8 +15,8 @@ using namespace std; -Stream::Stream(const string &stream_id, size_t backlog_size, Encoding encoding) - : stream_id(stream_id), +Stream::Stream(const string &url, size_t backlog_size, Encoding encoding) + : url(url), encoding(encoding), data_fd(make_tempfile("")), backlog_size(backlog_size), @@ -36,7 +36,7 @@ Stream::~Stream() } Stream::Stream(const StreamProto &serialized, int data_fd) - : stream_id(serialized.stream_id()), + : url(serialized.url()), http_header(serialized.http_header()), stream_header(serialized.stream_header()), encoding(Stream::STREAM_ENCODING_RAW), // Will be changed later. @@ -71,7 +71,7 @@ StreamProto Stream::serialize() serialized.add_data_fds(data_fd); serialized.set_backlog_size(backlog_size); serialized.set_bytes_received(bytes_received); - serialized.set_stream_id(stream_id); + serialized.set_url(url); data_fd = -1; return serialized; } @@ -185,7 +185,7 @@ void Stream::add_data_raw(const vector &orig_data) } while (ret == -1 && errno == EINTR); if (ret == -1) { - log_perror("pwrite"); + log_perror("pwritev"); // Dazed and confused, but trying to continue... return; } @@ -222,15 +222,8 @@ void Stream::add_data_deferred(const char *data, size_t bytes) queued_data.push_back(iov); } else { - assert(encoding == Stream::STREAM_ENCODING_RAW); + assert(false); } - - // Add the data itself. - iovec iov; - iov.iov_base = new char[bytes]; - memcpy(iov.iov_base, data, bytes); - iov.iov_len = bytes; - queued_data.push_back(iov); } void Stream::process_queued_data()