mirror of
				https://gitee.com/jiuyilian/embedded-framework.git
				synced 2025-10-24 18:20:15 -04: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