Improve:TcpModule.

This commit is contained in:
Fancy code 2024-04-11 20:46:26 +08:00
parent 7fd6c72864
commit 2f6678c7eb
6 changed files with 22 additions and 12 deletions

View File

@ -44,8 +44,9 @@ typedef struct tcp_parm
} TcpClientParam; } TcpClientParam;
void *CreateTcpServer(const TcpServerParam param); void *CreateTcpServer(const TcpServerParam param);
void FreeTcpServer(void *object); void FreeTcpServer(void *object);
void AcceptClientSetParam(void *object, const ClientAcceptParam param); // void AcceptClientSetParam(void *object, const ClientAcceptParam param);
ssize_t AcceptClientWrite(void *object, const void *buf, const size_t bufLenght); ssize_t AcceptClientWrite(void *object, const void *buf, const size_t bufLenght);
void AcceptClientClose(void *object);
void *CreateTcpClient(const TcpClientParam param); void *CreateTcpClient(const TcpClientParam param);
void FreeTcpClient(void *object); void FreeTcpClient(void *object);
ssize_t TcpClientWrite(void *object, const void *buf, const size_t bufLenght); ssize_t TcpClientWrite(void *object, const void *buf, const size_t bufLenght);

View File

@ -16,7 +16,7 @@
#include "ILog.h" #include "ILog.h"
#include "TcpModule.h" #include "TcpModule.h"
#include <cstring> #include <cstring>
void ITcpClientAccept::SetParam(const ClientAcceptParam &param) void ITcpClientAccept::Close(void)
{ {
} }
void ITcpClientAccept::Readed(const void *data, size_t length) void ITcpClientAccept::Readed(const void *data, size_t length)

View File

@ -22,7 +22,7 @@ class ITcpClientAccept
public: public:
ITcpClientAccept() = default; ITcpClientAccept() = default;
virtual ~ITcpClientAccept() = default; virtual ~ITcpClientAccept() = default;
virtual void SetParam(const ClientAcceptParam &param); virtual void Close(void);
virtual void Readed(const void *data, size_t length); virtual void Readed(const void *data, size_t length);
virtual ssize_t Write(const void *data, size_t length); virtual ssize_t Write(const void *data, size_t length);
virtual void Closed(void); virtual void Closed(void);

View File

@ -58,12 +58,12 @@ void FreeTcpServer(void *object)
free(((char *)object) - sizeof(ITcpServerHeader)); // TODO: bug? free(((char *)object) - sizeof(ITcpServerHeader)); // TODO: bug?
} }
} }
void AcceptClientSetParam(void *object, const ClientAcceptParam param) // void AcceptClientSetParam(void *object, const ClientAcceptParam param)
{ // {
if (TcpClientAcceptObjectCheck(object) == true) { // if (TcpClientAcceptObjectCheck(object) == true) {
(*(std::shared_ptr<ITcpClientAccept> *)object)->SetParam(param); // (*(std::shared_ptr<ITcpClientAccept> *)object)->SetParam(param);
} // }
} // }
ssize_t AcceptClientWrite(void *object, const void *buf, const size_t bufLenght) ssize_t AcceptClientWrite(void *object, const void *buf, const size_t bufLenght)
{ {
if (TcpClientAcceptObjectCheck(object) == true) { if (TcpClientAcceptObjectCheck(object) == true) {
@ -71,6 +71,12 @@ ssize_t AcceptClientWrite(void *object, const void *buf, const size_t bufLenght)
} }
return TCP_MODULE_WRITE_ERROR; return TCP_MODULE_WRITE_ERROR;
} }
void AcceptClientClose(void *object)
{
if (TcpClientAcceptObjectCheck(object) == true) {
return (*(std::shared_ptr<ITcpClientAccept> *)object)->Close();
}
}
void *CreateTcpClient(const TcpClientParam param) void *CreateTcpClient(const TcpClientParam param)
{ {
std::shared_ptr<ITcpClient> *client = TcpModuleMakePtr::GetInstance()->CreateTcpClient(param); std::shared_ptr<ITcpClient> *client = TcpModuleMakePtr::GetInstance()->CreateTcpClient(param);

View File

@ -60,9 +60,12 @@ TcpClientAcceptImpl::TcpClientAcceptImpl(const hio_t *io, const void *object, co
: mIo(io), mObjectThis(object), mParam(param) : mIo(io), mObjectThis(object), mParam(param)
{ {
} }
void TcpClientAcceptImpl::SetParam(const ClientAcceptParam &param) void TcpClientAcceptImpl::Close(void)
{ {
// mParam = param; if (nullptr != mIo) {
hio_t *io = (hio_t *)mIo;
hio_close(io);
}
} }
void TcpClientAcceptImpl::Readed(const void *data, size_t length) void TcpClientAcceptImpl::Readed(const void *data, size_t length)
{ {

View File

@ -27,7 +27,7 @@ class TcpClientAcceptImpl : public ITcpClientAccept, public std::enable_shared_f
public: public:
TcpClientAcceptImpl(const hio_t *io, const void *object, const ClientAcceptParam &param); TcpClientAcceptImpl(const hio_t *io, const void *object, const ClientAcceptParam &param);
virtual ~TcpClientAcceptImpl() = default; virtual ~TcpClientAcceptImpl() = default;
void SetParam(const ClientAcceptParam &param) override; void Close(void) override;
void Readed(const void *data, size_t length) override; void Readed(const void *data, size_t length) override;
ssize_t Write(const void *data, size_t length) override; ssize_t Write(const void *data, size_t length) override;
void Closed(void) override; void Closed(void) override;