1
0
Fork 0
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:
winlin 2014-03-01 11:04:03 +08:00
parent 8fea433450
commit c0dbee0854
6 changed files with 29 additions and 14 deletions

4
trunk/configure vendored
View file

@ -134,7 +134,7 @@ MODULE_ID="KERNEL"
MODULE_DEPENDS=("CORE")
ModuleLibIncs=(${SRS_OBJS})
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
KERNEL_OBJS="${MODULE_OBJS[@]}"
#
@ -144,7 +144,7 @@ MODULE_DEPENDS=("CORE" "KERNEL")
ModuleLibIncs=(${LibSTRoot} ${LibHttpParserRoot} ${LibSSLRoot} ${SRS_OBJS})
MODULE_FILES=("srs_core_server"
"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_source" "srs_core_codec"
"srs_core_handshake" "srs_core_pithy_print"

View file

@ -27,7 +27,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_core_amf0.hpp>
#include <srs_kernel_error.hpp>
#include <srs_core_socket.hpp>
#include <srs_core_buffer.hpp>
#include <srs_kernel_buffer.hpp>
#include <srs_kernel_stream.hpp>
#include <srs_core_autofree.hpp>

View file

@ -31,12 +31,13 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_core.hpp>
#include <srs_core_st.hpp>
#include <srs_kernel_buffer.hpp>
/**
* the socket provides TCP socket over st,
* that is, the sync socket mechanism.
*/
class SrsSocket
class SrsSocket : public ISrsReader
{
private:
int64_t recv_timeout;

View file

@ -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.
*/
#include <srs_core_buffer.hpp>
#include <srs_kernel_buffer.hpp>
#include <srs_kernel_error.hpp>
#include <srs_core_socket.hpp>
#include <srs_kernel_log.hpp>
#define SOCKET_READ_SIZE 4096
ISrsReader::ISrsReader()
{
}
ISrsReader::~ISrsReader()
{
}
SrsBuffer::SrsBuffer()
{
}
@ -57,7 +64,7 @@ void SrsBuffer::append(char* bytes, int 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;

View file

@ -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.
*/
#ifndef SRS_CORE_BUFFER_HPP
#define SRS_CORE_BUFFER_HPP
#ifndef SRS_KERNEL_BUFFER_HPP
#define SRS_KERNEL_BUFFER_HPP
/*
#include <srs_core_buffer.hpp>
#include <srs_kernel_buffer.hpp>
*/
#include <srs_core.hpp>
#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,
@ -53,7 +60,7 @@ public:
private:
virtual void append(char* bytes, int size);
public:
virtual int ensure_buffer_bytes(SrsSocket* skt, int required_size);
virtual int ensure_buffer_bytes(ISrsReader* skt, int required_size);
};
#endif

View file

@ -10,6 +10,8 @@ file
..\core\srs_core_autofree.hpp,
..\core\srs_core_autofree.cpp,
kernel readonly separator,
..\kernel\srs_kernel_buffer.hpp,
..\kernel\srs_kernel_buffer.cpp,
..\kernel\srs_kernel_config.hpp,
..\kernel\srs_kernel_config.cpp,
..\kernel\srs_kernel_error.hpp,
@ -25,8 +27,6 @@ file
..\app\srs_core_amf0.cpp,
..\app\srs_core_bandwidth.hpp,
..\app\srs_core_bandwidth.cpp,
..\app\srs_core_buffer.hpp,
..\app\srs_core_buffer.cpp,
..\app\srs_core_client.hpp,
..\app\srs_core_client.cpp,
..\app\srs_core_codec.hpp,