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") 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"

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_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>

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.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;

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. 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;

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. 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

View file

@ -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,