以pipe为底层通信基础实现接口类EuvStreamInf,pipe的底层使用STREAM+AF_UNIX的方式进行通信。
#include "EuvPipe.hpp"
◆ EuvPipe()
| Emx::EuvPipe::EuvPipe |
( |
| ) |
|
|
inline |
◆ ~EuvPipe()
| virtual Emx::EuvPipe::~EuvPipe |
( |
| ) |
|
|
inlinevirtual |
◆ Create()
◆ Destroy()
| void Emx::EuvPipe::Destroy |
( |
| ) |
|
|
inlineoverridevirtual |
◆ Bind()
| ErrCodeE Emx::EuvPipe::Bind |
( |
const char * |
ip, |
|
|
uint16_t |
port |
|
) |
| |
|
overridevirtual |
- 参数
-
| ip | [in] 这里的参数应填写AF_UNIX格式的地址,例如/tmp/domain/msg/send_pipe |
| port | 此参数无效,不会使用 |
- 返回
- ErrCodeE
重载 Emx::EuvStreamInf .
◆ Connect()
| ErrCodeE Emx::EuvPipe::Connect |
( |
uv_connect_t * |
req, |
|
|
const char * |
serverIp, |
|
|
uint16_t |
serverPort, |
|
|
uv_connect_cb |
cb |
|
) |
| |
|
overridevirtual |
- 参数
-
| req | [in] 用于连接的libuv请求结构体 |
| serverIp | [in] 目的AF_UNIX地址 |
| serverPort | [in] 无效,不会使用 |
| cb | [in] 注册一个连接成功或失败后的回调 |
- 返回
- ErrCodeE
重载 Emx::EuvStreamInf .
◆ GetSockName()
| ErrCodeE Emx::EuvPipe::GetSockName |
( |
void * |
name, |
|
|
size_t & |
len |
|
) |
| |
|
overridevirtual |
- 参数
-
| name | [out] 存储地址的buffer |
| len | [in,out] 存储地址的buffer最大大小,返回实际地址长度 |
- 返回
- ErrCodeE
实现了 Emx::EuvStreamInf.
◆ GetPeerName()
| ErrCodeE Emx::EuvPipe::GetPeerName |
( |
void * |
name, |
|
|
size_t & |
len |
|
) |
| |
|
overridevirtual |
- 参数
-
| name | [out] 存储地址的buffer |
| len | [in,out] 存储地址的buffer最大大小,返回实际地址长度 |
- 返回
- ErrCodeE
实现了 Emx::EuvStreamInf.
◆ GetStm()
| uv_stream_t* Emx::EuvPipe::GetStm |
( |
| ) |
|
|
inlineoverridevirtual |
◆ GetFd()
| int32_t Emx::EuvPipe::GetFd |
( |
| ) |
|
|
inlineoverridevirtual |
◆ IsReceiving()
| bool Emx::EuvPipe::IsReceiving |
( |
| ) |
|
|
inlineoverridevirtual |