mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
move buffer to kernel. extract ISrsReader for buffer
This commit is contained in:
parent
8fea433450
commit
c0dbee0854
6 changed files with 29 additions and 14 deletions
4
trunk/configure
vendored
4
trunk/configure
vendored
|
@ -134,7 +134,7 @@ MODULE_ID="KERNEL"
|
||||||
MODULE_DEPENDS=("CORE")
|
MODULE_DEPENDS=("CORE")
|
||||||
ModuleLibIncs=(${SRS_OBJS})
|
ModuleLibIncs=(${SRS_OBJS})
|
||||||
MODULE_FILES=("srs_kernel_error" "srs_kernel_log" "srs_kernel_reload" "srs_kernel_config"
|
MODULE_FILES=("srs_kernel_error" "srs_kernel_log" "srs_kernel_reload" "srs_kernel_config"
|
||||||
"srs_kernel_stream")
|
"srs_kernel_stream" "srs_kernel_buffer")
|
||||||
MODULE_DIR="src/kernel" . auto/modules.sh
|
MODULE_DIR="src/kernel" . auto/modules.sh
|
||||||
KERNEL_OBJS="${MODULE_OBJS[@]}"
|
KERNEL_OBJS="${MODULE_OBJS[@]}"
|
||||||
#
|
#
|
||||||
|
@ -144,7 +144,7 @@ MODULE_DEPENDS=("CORE" "KERNEL")
|
||||||
ModuleLibIncs=(${LibSTRoot} ${LibHttpParserRoot} ${LibSSLRoot} ${SRS_OBJS})
|
ModuleLibIncs=(${LibSTRoot} ${LibHttpParserRoot} ${LibSSLRoot} ${SRS_OBJS})
|
||||||
MODULE_FILES=("srs_core_server"
|
MODULE_FILES=("srs_core_server"
|
||||||
"srs_core_conn" "srs_core_client"
|
"srs_core_conn" "srs_core_client"
|
||||||
"srs_core_rtmp" "srs_core_socket" "srs_core_buffer"
|
"srs_core_rtmp" "srs_core_socket"
|
||||||
"srs_core_protocol" "srs_core_amf0"
|
"srs_core_protocol" "srs_core_amf0"
|
||||||
"srs_core_source" "srs_core_codec"
|
"srs_core_source" "srs_core_codec"
|
||||||
"srs_core_handshake" "srs_core_pithy_print"
|
"srs_core_handshake" "srs_core_pithy_print"
|
||||||
|
|
|
@ -27,7 +27,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
#include <srs_core_amf0.hpp>
|
#include <srs_core_amf0.hpp>
|
||||||
#include <srs_kernel_error.hpp>
|
#include <srs_kernel_error.hpp>
|
||||||
#include <srs_core_socket.hpp>
|
#include <srs_core_socket.hpp>
|
||||||
#include <srs_core_buffer.hpp>
|
#include <srs_kernel_buffer.hpp>
|
||||||
#include <srs_kernel_stream.hpp>
|
#include <srs_kernel_stream.hpp>
|
||||||
#include <srs_core_autofree.hpp>
|
#include <srs_core_autofree.hpp>
|
||||||
|
|
||||||
|
|
|
@ -31,12 +31,13 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
#include <srs_core.hpp>
|
#include <srs_core.hpp>
|
||||||
|
|
||||||
#include <srs_core_st.hpp>
|
#include <srs_core_st.hpp>
|
||||||
|
#include <srs_kernel_buffer.hpp>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the socket provides TCP socket over st,
|
* the socket provides TCP socket over st,
|
||||||
* that is, the sync socket mechanism.
|
* that is, the sync socket mechanism.
|
||||||
*/
|
*/
|
||||||
class SrsSocket
|
class SrsSocket : public ISrsReader
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
int64_t recv_timeout;
|
int64_t recv_timeout;
|
||||||
|
|
|
@ -21,14 +21,21 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <srs_core_buffer.hpp>
|
#include <srs_kernel_buffer.hpp>
|
||||||
|
|
||||||
#include <srs_kernel_error.hpp>
|
#include <srs_kernel_error.hpp>
|
||||||
#include <srs_core_socket.hpp>
|
|
||||||
#include <srs_kernel_log.hpp>
|
#include <srs_kernel_log.hpp>
|
||||||
|
|
||||||
#define SOCKET_READ_SIZE 4096
|
#define SOCKET_READ_SIZE 4096
|
||||||
|
|
||||||
|
ISrsReader::ISrsReader()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
ISrsReader::~ISrsReader()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
SrsBuffer::SrsBuffer()
|
SrsBuffer::SrsBuffer()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -57,7 +64,7 @@ void SrsBuffer::append(char* bytes, int size)
|
||||||
data.insert(data.end(), bytes, bytes + size);
|
data.insert(data.end(), bytes, bytes + size);
|
||||||
}
|
}
|
||||||
|
|
||||||
int SrsBuffer::ensure_buffer_bytes(SrsSocket* skt, int required_size)
|
int SrsBuffer::ensure_buffer_bytes(ISrsReader* skt, int required_size)
|
||||||
{
|
{
|
||||||
int ret = ERROR_SUCCESS;
|
int ret = ERROR_SUCCESS;
|
||||||
|
|
|
@ -21,18 +21,25 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef SRS_CORE_BUFFER_HPP
|
#ifndef SRS_KERNEL_BUFFER_HPP
|
||||||
#define SRS_CORE_BUFFER_HPP
|
#define SRS_KERNEL_BUFFER_HPP
|
||||||
|
|
||||||
/*
|
/*
|
||||||
#include <srs_core_buffer.hpp>
|
#include <srs_kernel_buffer.hpp>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <srs_core.hpp>
|
#include <srs_core.hpp>
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
class SrsSocket;
|
class ISrsReader
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ISrsReader();
|
||||||
|
virtual ~ISrsReader();
|
||||||
|
public:
|
||||||
|
virtual int read(const void* buf, size_t size, ssize_t* nread) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* the buffer provices bytes cache for protocol. generally,
|
* the buffer provices bytes cache for protocol. generally,
|
||||||
|
@ -53,7 +60,7 @@ public:
|
||||||
private:
|
private:
|
||||||
virtual void append(char* bytes, int size);
|
virtual void append(char* bytes, int size);
|
||||||
public:
|
public:
|
||||||
virtual int ensure_buffer_bytes(SrsSocket* skt, int required_size);
|
virtual int ensure_buffer_bytes(ISrsReader* skt, int required_size);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -10,6 +10,8 @@ file
|
||||||
..\core\srs_core_autofree.hpp,
|
..\core\srs_core_autofree.hpp,
|
||||||
..\core\srs_core_autofree.cpp,
|
..\core\srs_core_autofree.cpp,
|
||||||
kernel readonly separator,
|
kernel readonly separator,
|
||||||
|
..\kernel\srs_kernel_buffer.hpp,
|
||||||
|
..\kernel\srs_kernel_buffer.cpp,
|
||||||
..\kernel\srs_kernel_config.hpp,
|
..\kernel\srs_kernel_config.hpp,
|
||||||
..\kernel\srs_kernel_config.cpp,
|
..\kernel\srs_kernel_config.cpp,
|
||||||
..\kernel\srs_kernel_error.hpp,
|
..\kernel\srs_kernel_error.hpp,
|
||||||
|
@ -25,8 +27,6 @@ file
|
||||||
..\app\srs_core_amf0.cpp,
|
..\app\srs_core_amf0.cpp,
|
||||||
..\app\srs_core_bandwidth.hpp,
|
..\app\srs_core_bandwidth.hpp,
|
||||||
..\app\srs_core_bandwidth.cpp,
|
..\app\srs_core_bandwidth.cpp,
|
||||||
..\app\srs_core_buffer.hpp,
|
|
||||||
..\app\srs_core_buffer.cpp,
|
|
||||||
..\app\srs_core_client.hpp,
|
..\app\srs_core_client.hpp,
|
||||||
..\app\srs_core_client.cpp,
|
..\app\srs_core_client.cpp,
|
||||||
..\app\srs_core_codec.hpp,
|
..\app\srs_core_codec.hpp,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue