mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
refine comments for librtmp
This commit is contained in:
parent
c5fcc15989
commit
8acb99f96c
1 changed files with 47 additions and 45 deletions
|
@ -1002,80 +1002,82 @@ typedef void* srs_hijack_io_t;
|
||||||
// which use librtmp but use its own io(use st also).
|
// which use librtmp but use its own io(use st also).
|
||||||
#ifdef SRS_HIJACK_IO
|
#ifdef SRS_HIJACK_IO
|
||||||
/**
|
/**
|
||||||
* create hijack.
|
* create hijack.
|
||||||
* @return NULL for error; otherwise, ok.
|
* @return NULL for error; otherwise, ok.
|
||||||
*/
|
*/
|
||||||
extern srs_hijack_io_t srs_hijack_io_create();
|
extern srs_hijack_io_t srs_hijack_io_create();
|
||||||
/**
|
/**
|
||||||
* destroy the context, user must close the socket.
|
* destroy the context, user must close the socket.
|
||||||
*/
|
*/
|
||||||
extern void srs_hijack_io_destroy(srs_hijack_io_t ctx);
|
extern void srs_hijack_io_destroy(srs_hijack_io_t ctx);
|
||||||
/**
|
/**
|
||||||
* create socket, not connect yet.
|
* create socket, not connect yet.
|
||||||
* @param owner, the rtmp context which create this socket.
|
* @param owner, the rtmp context which create this socket.
|
||||||
* @return 0, success; otherswise, failed.
|
* @return 0, success; otherswise, failed.
|
||||||
*/
|
*/
|
||||||
extern int srs_hijack_io_create_socket(srs_hijack_io_t ctx, srs_rtmp_t owner);
|
extern int srs_hijack_io_create_socket(srs_hijack_io_t ctx, srs_rtmp_t owner);
|
||||||
/**
|
/**
|
||||||
* connect socket at server_ip:port.
|
* connect socket at server_ip:port.
|
||||||
* @return 0, success; otherswise, failed.
|
* @return 0, success; otherswise, failed.
|
||||||
*/
|
*/
|
||||||
extern int srs_hijack_io_connect(srs_hijack_io_t ctx, const char* server_ip, int port);
|
extern int srs_hijack_io_connect(srs_hijack_io_t ctx, const char* server_ip, int port);
|
||||||
/**
|
/**
|
||||||
* read from socket.
|
* read from socket.
|
||||||
* @return 0, success; otherswise, failed.
|
* @return 0, success; otherswise, failed.
|
||||||
*/
|
*/
|
||||||
extern int srs_hijack_io_read(srs_hijack_io_t ctx, void* buf, size_t size, ssize_t* nread);
|
extern int srs_hijack_io_read(srs_hijack_io_t ctx, void* buf, size_t size, ssize_t* nread);
|
||||||
/**
|
/**
|
||||||
* set the socket recv timeout in ms.
|
* set the socket recv timeout in ms.
|
||||||
* @return 0, success; otherswise, failed.
|
* @return 0, success; otherswise, failed.
|
||||||
*/
|
*/
|
||||||
extern int srs_hijack_io_set_recv_timeout(srs_hijack_io_t ctx, int64_t tm);
|
extern int srs_hijack_io_set_recv_timeout(srs_hijack_io_t ctx, int64_t tm);
|
||||||
/**
|
/**
|
||||||
* get the socket recv timeout.
|
* get the socket recv timeout.
|
||||||
* @return 0, success; otherswise, failed.
|
* @return 0, success; otherswise, failed.
|
||||||
*/
|
*/
|
||||||
extern int64_t srs_hijack_io_get_recv_timeout(srs_hijack_io_t ctx);
|
extern int64_t srs_hijack_io_get_recv_timeout(srs_hijack_io_t ctx);
|
||||||
/**
|
/**
|
||||||
* get the socket recv bytes.
|
* get the socket recv bytes.
|
||||||
* @return 0, success; otherswise, failed.
|
* @return 0, success; otherswise, failed.
|
||||||
*/
|
*/
|
||||||
extern int64_t srs_hijack_io_get_recv_bytes(srs_hijack_io_t ctx);
|
extern int64_t srs_hijack_io_get_recv_bytes(srs_hijack_io_t ctx);
|
||||||
/**
|
/**
|
||||||
* set the socket send timeout in ms.
|
* set the socket send timeout in ms.
|
||||||
* @return 0, success; otherswise, failed.
|
* @return 0, success; otherswise, failed.
|
||||||
*/
|
*/
|
||||||
extern int srs_hijack_io_set_send_timeout(srs_hijack_io_t ctx, int64_t tm);
|
extern int srs_hijack_io_set_send_timeout(srs_hijack_io_t ctx, int64_t tm);
|
||||||
/**
|
/**
|
||||||
* get the socket send timeout.
|
* get the socket send timeout.
|
||||||
* @return 0, success; otherswise, failed.
|
* @return 0, success; otherswise, failed.
|
||||||
*/
|
*/
|
||||||
extern int64_t srs_hijack_io_get_send_timeout(srs_hijack_io_t ctx);
|
extern int64_t srs_hijack_io_get_send_timeout(srs_hijack_io_t ctx);
|
||||||
/**
|
/**
|
||||||
* get the socket send bytes.
|
* get the socket send bytes.
|
||||||
* @return 0, success; otherswise, failed.
|
* @return 0, success; otherswise, failed.
|
||||||
*/
|
*/
|
||||||
extern int64_t srs_hijack_io_get_send_bytes(srs_hijack_io_t ctx);
|
extern int64_t srs_hijack_io_get_send_bytes(srs_hijack_io_t ctx);
|
||||||
/**
|
/**
|
||||||
* writev of socket.
|
* writev of socket.
|
||||||
* @return 0, success; otherswise, failed.
|
* @return 0, success; otherswise, failed.
|
||||||
*/
|
* @remark We assume that the writev always write all data to peer, like what ST or block-socket done.
|
||||||
|
*/
|
||||||
extern int srs_hijack_io_writev(srs_hijack_io_t ctx, const iovec *iov, int iov_size, ssize_t* nwrite);
|
extern int srs_hijack_io_writev(srs_hijack_io_t ctx, const iovec *iov, int iov_size, ssize_t* nwrite);
|
||||||
/**
|
/**
|
||||||
* whether the timeout is never timeout in ms.
|
* whether the timeout is never timeout in ms.
|
||||||
* @return 0, success; otherswise, failed.
|
* @return 0, success; otherswise, failed.
|
||||||
*/
|
*/
|
||||||
// TODO: FIXME: Upgrade srs-bench and change the us to ms for timeout.
|
// TODO: FIXME: Upgrade srs-bench and change the us to ms for timeout.
|
||||||
extern bool srs_hijack_io_is_never_timeout(srs_hijack_io_t ctx, int64_t tm);
|
extern bool srs_hijack_io_is_never_timeout(srs_hijack_io_t ctx, int64_t tm);
|
||||||
/**
|
/**
|
||||||
* read fully, fill the buf exactly size bytes.
|
* read fully, fill the buf exactly size bytes.
|
||||||
* @return 0, success; otherswise, failed.
|
* @return 0, success; otherswise, failed.
|
||||||
*/
|
*/
|
||||||
extern int srs_hijack_io_read_fully(srs_hijack_io_t ctx, void* buf, size_t size, ssize_t* nread);
|
extern int srs_hijack_io_read_fully(srs_hijack_io_t ctx, void* buf, size_t size, ssize_t* nread);
|
||||||
/**
|
/**
|
||||||
* write bytes to socket.
|
* write bytes to socket.
|
||||||
* @return 0, success; otherswise, failed.
|
* @return 0, success; otherswise, failed.
|
||||||
*/
|
* @remark We assume that the write always write all data to peer, like what ST or block-socket done.
|
||||||
|
*/
|
||||||
extern int srs_hijack_io_write(srs_hijack_io_t ctx, void* buf, size_t size, ssize_t* nwrite);
|
extern int srs_hijack_io_write(srs_hijack_io_t ctx, void* buf, size_t size, ssize_t* nwrite);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue