This commit is contained in:
aozhiwei 2019-06-03 09:16:35 +08:00
parent 4172aafb0e
commit 8cee06b528
3 changed files with 23 additions and 18 deletions

View File

@ -12,6 +12,8 @@
#include <a8/ioloop.h> #include <a8/ioloop.h>
namespace a8
{
void IoLoop::Init() void IoLoop::Init()
{ {
epoll_fd = ::epoll_create(10000); epoll_fd = ::epoll_create(10000);
@ -28,3 +30,4 @@ void IoLoop::Update()
{ {
} }
}

View File

@ -51,7 +51,7 @@ namespace a8
bool TcpClient2::IsActive() bool TcpClient2::IsActive()
{ {
return socket__ != a8::INVALID_SOCKET; return socket_ != a8::INVALID_SOCKET;
} }
bool TcpClient2::Connected() bool TcpClient2::Connected()

View File

@ -6,15 +6,15 @@ namespace a8
class TcpClient2 class TcpClient2
{ {
public: public:
std::function<void (a8::TcpClient*, int)> on_error; std::function<void (a8::TcpClient2*, int)> on_error;
std::function<void (a8::TcpClient*)> on_connect; std::function<void (a8::TcpClient2*)> on_connect;
std::function<void (a8::TcpClient*)> on_disconnect; std::function<void (a8::TcpClient2*)> on_disconnect;
std::function<void (a8::TcpClient*, char*, unsigned int)> on_socketread; std::function<void (a8::TcpClient2*, char*, unsigned int)> on_socketread;
std::string remote_address; std::string remote_address;
int remote_port = 0; int remote_port = 0;
TcpClient(); TcpClient2();
virtual ~TcpClient(); virtual ~TcpClient2();
void Open(); void Open();
void Close(); void Close();
@ -25,6 +25,7 @@ namespace a8
private: private:
volatile int socket_ = a8::INVALID_SOCKET; volatile int socket_ = a8::INVALID_SOCKET;
volatile bool connected_ = false; volatile bool connected_ = false;
std::mutex* send_buffer_mutex_ = nullptr;
SendQueueNode *top_node_ = nullptr; SendQueueNode *top_node_ = nullptr;
SendQueueNode *bot_node_ = nullptr; SendQueueNode *bot_node_ = nullptr;
std::mutex *send_cond_mutex_ = nullptr; std::mutex *send_cond_mutex_ = nullptr;
@ -33,6 +34,7 @@ namespace a8
void SetActive(bool active); void SetActive(bool active);
bool ActiveStart(); bool ActiveStart();
void ActiveStop(); void ActiveStop();
void NotifySendCond();
}; };
} }