mirror of
https://gitee.com/jiuyilian/embedded-framework.git
synced 2025-01-06 10:16:51 -05:00
Improve:TcpModule.
This commit is contained in:
parent
7fd6c72864
commit
2f6678c7eb
|
@ -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);
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#include "ILog.h"
|
||||
#include "TcpModule.h"
|
||||
#include <cstring>
|
||||
void ITcpClientAccept::SetParam(const ClientAcceptParam ¶m)
|
||||
void ITcpClientAccept::Close(void)
|
||||
{
|
||||
}
|
||||
void ITcpClientAccept::Readed(const void *data, size_t length)
|
||||
|
|
|
@ -22,7 +22,7 @@ class ITcpClientAccept
|
|||
public:
|
||||
ITcpClientAccept() = default;
|
||||
virtual ~ITcpClientAccept() = default;
|
||||
virtual void SetParam(const ClientAcceptParam ¶m);
|
||||
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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 ¶m)
|
||||
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)
|
||||
{
|
||||
|
|
|
@ -27,7 +27,7 @@ class TcpClientAcceptImpl : public ITcpClientAccept, public std::enable_shared_f
|
|||
public:
|
||||
TcpClientAcceptImpl(const hio_t *io, const void *object, const ClientAcceptParam ¶m);
|
||||
virtual ~TcpClientAcceptImpl() = default;
|
||||
void SetParam(const ClientAcceptParam ¶m) 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;
|
||||
|
|
Loading…
Reference in New Issue
Block a user