mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
for #742, refine the file reader and writer interface.
This commit is contained in:
parent
bb5bd0ee1c
commit
eaa222f034
13 changed files with 138 additions and 69 deletions
|
@ -155,7 +155,7 @@ int SrsHttpResponseWriter::write(char* data, int size)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int SrsHttpResponseWriter::writev(iovec* iov, int iovcnt, ssize_t* pnwrite)
|
||||
int SrsHttpResponseWriter::writev(const iovec* iov, int iovcnt, ssize_t* pnwrite)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -163,7 +163,7 @@ int SrsHttpResponseWriter::writev(iovec* iov, int iovcnt, ssize_t* pnwrite)
|
|||
if (!header_wrote || content_length != -1) {
|
||||
ssize_t nwrite = 0;
|
||||
for (int i = 0; i < iovcnt; i++) {
|
||||
iovec* piovc = iov + i;
|
||||
const iovec* piovc = iov + i;
|
||||
nwrite += piovc->iov_len;
|
||||
if ((ret = write((char*)piovc->iov_base, (int)piovc->iov_len)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
|
@ -196,7 +196,7 @@ int SrsHttpResponseWriter::writev(iovec* iov, int iovcnt, ssize_t* pnwrite)
|
|||
// chunk size.
|
||||
int size = 0;
|
||||
for (int i = 0; i < iovcnt; i++) {
|
||||
iovec* data_iov = iov + i;
|
||||
const iovec* data_iov = iov + i;
|
||||
size += data_iov->iov_len;
|
||||
}
|
||||
written += size;
|
||||
|
@ -215,7 +215,7 @@ int SrsHttpResponseWriter::writev(iovec* iov, int iovcnt, ssize_t* pnwrite)
|
|||
|
||||
// chunk body.
|
||||
for (int i = 0; i < iovcnt; i++) {
|
||||
iovec* data_iov = iov + i;
|
||||
const iovec* data_iov = iov + i;
|
||||
iovs[0].iov_base = (char*)data_iov->iov_base;
|
||||
iovs[0].iov_len = (int)data_iov->iov_len;
|
||||
iovs++;
|
||||
|
|
|
@ -103,7 +103,7 @@ public:
|
|||
virtual int final_request();
|
||||
virtual SrsHttpHeader* header();
|
||||
virtual int write(char* data, int size);
|
||||
virtual int writev(iovec* iov, int iovcnt, ssize_t* pnwrite);
|
||||
virtual int writev(const iovec* iov, int iovcnt, ssize_t* pnwrite);
|
||||
virtual void write_header(int code);
|
||||
virtual int send_header(char* data, int size);
|
||||
};
|
||||
|
|
|
@ -440,7 +440,7 @@ int SrsBufferWriter::write(void* buf, size_t count, ssize_t* pnwrite)
|
|||
return writer->write((char*)buf, (int)count);
|
||||
}
|
||||
|
||||
int SrsBufferWriter::writev(iovec* iov, int iovcnt, ssize_t* pnwrite)
|
||||
int SrsBufferWriter::writev(const iovec* iov, int iovcnt, ssize_t* pnwrite)
|
||||
{
|
||||
return writer->writev(iov, iovcnt, pnwrite);
|
||||
}
|
||||
|
|
|
@ -210,7 +210,7 @@ public:
|
|||
virtual int64_t tellg();
|
||||
public:
|
||||
virtual int write(void* buf, size_t count, ssize_t* pnwrite);
|
||||
virtual int writev(iovec* iov, int iovcnt, ssize_t* pnwrite);
|
||||
virtual int writev(const iovec* iov, int iovcnt, ssize_t* pnwrite);
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue