Attr:

  指定连接属性

  返回值:

  成功:连接ID

  失败:-1

  int asyncmsg_connect_detach( int coid );

  参数:

  coid :连接ID

  备注:

  从指定连接断开,所有在发送放一侧的消息被丢弃,如果为了在这之前所有的消息被发送完毕,在这之前调用asyncmsg_flush()接口。

  返回值:

  成功:EOK

  失败:-1

  int asyncmsg_flush( int coid,

  int mode );

  参数说明:

  Coid:连接ID

  Mode:

  0,如果不想该函数阻塞则设置ASYNCMSG_FLUSH_NONBLOCK

  返回值:

  成功:EOK

  失败:-1

int asyncmsg_connect_attr (
int coid,
struct _asyncmsg_connection_attr *old_attr,
const struct _asyncmsg_connection_attr *new_attr);

  参数说明:

  coid:连接ID

  Old_attr:当前属性

  new_attr:新的属性

  返回值:

  成功:EOK

  失败:-1

int asyncmsg_put( int coid,
const void *buff,
size_t size,
unsigned handle),
int (*call_back) (
int err,
void* buf,
unsigned handle ));
int asyncmsg_putv( int coid,
const iov_t* iov,
int parts,
unsigned handle,
int (*call_back) (
int err,
void* buf,
unsigned handle ));

  参数说明:

  Coid:连接ID

  Buff:消息缓冲

  Size:消息大小

  Iov:存放IOV消息的数组

  Parts:IOV数组大小

  Handle:用户自定义数据传递给回调函数,用于区分包类型

  call_back:NULL或则一个函数指针,消息传递后调用,如果为NULL则

  _asyncmsg_connection_attr 传递给asyncmsg_connect_attach被调用。

  struct _asyncmsg_get_header *asyncmsg_get( int chid );

  参数说明:

  Chid:频道ID

  说明:函数多接收5个异步消息,为了接收更多的消息,应该循环调用这个接口,知道返回NULL并且errno为EAGAIN的时候意味着读取完毕。

  返回类型:

struct _asyncmsg_get_header {
struct _msg_info info;
int err;
iov_t *iov;
int parts;
struct _asyncmsg_get_header *next;
unsigned reserve[2];
};

  说明:

  Info:异步信号信息结构

  err:错误状态

  Ivo:指向消息体

  Parts:ivo数组大小

  Next:指向下一个信息结构体

  返回值:

  成功:信息链表

  失败:NULL

  void asyncmsg_free( void *buf);

  参数说明:

  buf:释放内存的指针

  说明:

  asyncmsg_get()调用促使释放内存

  void *asyncmsg_malloc( size_t size );

  说明:

  函数为发送消息分配空间。