mirror of
https://github.com/caozhiyi/CppNet.git
synced 2026-01-19 00:05:14 +08:00
77 lines
2.2 KiB
C++
77 lines
2.2 KiB
C++
#include "Log.h"
|
|
#include "Timer.h"
|
|
#include "CppNet.h"
|
|
#include "CNConfig.h"
|
|
#include "CppNetImpl.h"
|
|
#include "MemoryPool.h"
|
|
#include "EventHandler.h"
|
|
#include "PoolSharedPtr.h"
|
|
|
|
cppnet::CCppNet::CCppNet() {
|
|
_cppnet_instance.reset(new CCppNetImpl());
|
|
}
|
|
|
|
cppnet::CCppNet::~CCppNet() {
|
|
_cppnet_instance->Dealloc();
|
|
if (!base::CLog::Instance().GetStop()) {
|
|
base::CLog::Instance().Stop();
|
|
}
|
|
}
|
|
|
|
void cppnet::CCppNet::Init(int32_t thread_num) {
|
|
if (__open_log) {
|
|
base::CLog::Instance().SetLogLevel(__log_level);
|
|
base::CLog::Instance().SetLogName(__log_file_name);
|
|
base::CLog::Instance().Start();
|
|
}
|
|
|
|
_cppnet_instance->Init(thread_num);
|
|
}
|
|
|
|
void cppnet::CCppNet::Join() {
|
|
_cppnet_instance->Join();
|
|
if (!base::CLog::Instance().GetStop()) {
|
|
base::CLog::Instance().Join();
|
|
}
|
|
}
|
|
|
|
void cppnet::CCppNet::SetReadCallback(const read_call_back& func) {
|
|
_cppnet_instance->SetReadCallback(func);
|
|
}
|
|
|
|
void cppnet::CCppNet::SetWriteCallback(const write_call_back& func) {
|
|
_cppnet_instance->SetWriteCallback(func);
|
|
}
|
|
|
|
void cppnet::CCppNet::SetDisconnectionCallback(const connection_call_back& func) {
|
|
_cppnet_instance->SetDisconnectionCallback(func);
|
|
}
|
|
|
|
uint64_t cppnet::CCppNet::SetTimer(int32_t interval, const timer_call_back& func, void* param, bool always) {
|
|
return _cppnet_instance->SetTimer(interval, func, param, always);
|
|
}
|
|
|
|
void cppnet::CCppNet::RemoveTimer(uint64_t timer_id) {
|
|
_cppnet_instance->RemoveTimer(timer_id);
|
|
}
|
|
|
|
void cppnet::CCppNet::SetAcceptCallback(const connection_call_back& func) {
|
|
_cppnet_instance->SetAcceptCallback(func);
|
|
}
|
|
|
|
bool cppnet::CCppNet::ListenAndAccept(const std::string& ip, int16_t port) {
|
|
return _cppnet_instance->ListenAndAccept(ip, port);
|
|
}
|
|
|
|
void cppnet::CCppNet::SetConnectionCallback(const connection_call_back& func) {
|
|
_cppnet_instance->SetConnectionCallback(func);
|
|
}
|
|
|
|
#ifndef __linux__
|
|
bool cppnet::CCppNet::Connection(const std::string& ip, int16_t port, const char* buf, int32_t buf_len) {
|
|
return _cppnet_instance->Connection(ip, port, buf, buf_len);
|
|
}
|
|
#endif
|
|
bool cppnet::CCppNet::Connection(const std::string& ip, int16_t port) {
|
|
return _cppnet_instance->Connection(ip, port);
|
|
} |