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;
void *CreateTcpServer(const TcpServerParam param);
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);
void AcceptClientClose(void *object);
void *CreateTcpClient(const TcpClientParam param);
void FreeTcpClient(void *object);
ssize_t TcpClientWrite(void *object, const void *buf, const size_t bufLenght);

View File

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

View File

@ -22,7 +22,7 @@ class ITcpClientAccept
public:
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 ssize_t Write(const void *data, size_t length);
virtual void Closed(void);

View File

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

View File

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