📄 sock_buffer.c
字号:
//// This file is part of the C++ threads library.//// Copyright (C) 2001 Orn E. Hansen//#include "io.h"#include "buffer.h"namespace cpp_threads { SocketBuffer::SocketBuffer() : Socket() { _in_buf = new IOBuffer(); _out_buf = new IOBuffer(); } SocketBuffer::SocketBuffer(int p_dno) : Socket(p_dno) { _in_buf = new IOBuffer(); _out_buf = new IOBuffer(); } SocketBuffer::SocketBuffer(Socket& p_sno) : Socket(p_sno) { _in_buf = new IOBuffer(); _out_buf = new IOBuffer(); } SocketBuffer::SocketBuffer(SocketBuffer& p_bsno) : Socket(p_bsno) { _in_buf = new IOBuffer( p_bsno.inputBuf() ); _out_buf = new IOBuffer( p_bsno.outputBuf() ); } SocketBuffer::~SocketBuffer() { Pthread::debug("SocketBuffer::~SocketBuffer %p",this); if( _in_buf != 0 ) delete _in_buf; if( _out_buf != 0 ) delete _out_buf; } SocketBuffer* SocketBuffer::wrapSocket(Socket& p_sno) { return new SocketBuffer(p_sno); } SocketBuffer* SocketBuffer::wrapSocket(Socket* p_sptr) { SocketBuffer* sb = 0; if( p_sptr ) { sb = new SocketBuffer( *p_sptr ); delete p_sptr; } return sb; } IOBuffer& SocketBuffer::inputBuf() { return *_in_buf; } IOBuffer& SocketBuffer::outputBuf() { return *_out_buf; } SocketBuffer::operator IOBuffer*() { return _in_buf; } SocketBuffer::operator IOBuffer&() { return *_in_buf; }}; // Namespace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -