The mutable buffer sequence mb
specifies memory where the data should be placed. The operation
shall always fill a buffer in the sequence completely before proceeding
to the next.

If successful, returns the number of
bytes read. Otherwise returns 0.

a.async_receive(b,mb,f,rh);

void

pre: a.is_open(b).

Initiates an asynchronous operation to read one or more
bytes of data from a connected socket b.
The operation is performed via the io_service
object a.get_io_service()
and behaves according to asynchronous
operation requirements.

The mutable buffer
sequence mb specifies
memory where the data should be placed. The operation shall always
fill a buffer in the sequence completely before proceeding to the
next.

The implementation shall maintain one or more
copies of mb until
such time as the read operation no longer requires access to the
memory specified by the buffers in the sequence. The program must
ensure the memory is valid until:

— the last copy of
mb is destroyed,
or

— the handler for the asynchronous operation is invoked,

whichever comes first.

If the operation completes
successfully, the ReadHandler
object rh is invoked
with the number of bytes transferred. Otherwise it is invoked with
0.

a.receive_from(b,mb,e,f,ec);

size_t

pre: a.is_open(b).

Reads one or more bytes of data from an unconnected socket
b.

The mutable buffer sequence mb
specifies memory where the data should be placed. The operation
shall always fill a buffer in the sequence completely before proceeding
to the next.

If successful, returns the number of
bytes read. Otherwise returns 0.

a.async_receive_from(b,mb,e,f,rh);

void

pre: a.is_open(b).

Initiates an asynchronous operation to read one or more
bytes of data from an unconnected socket b.
The operation is performed via the io_service
object a.get_io_service()
and behaves according to asynchronous
operation requirements.

The mutable buffer
sequence mb specifies
memory where the data should be placed. The operation shall always
fill a buffer in the sequence completely before proceeding to the
next.

The implementation shall maintain one or more
copies of mb until
such time as the read operation no longer requires access to the
memory specified by the buffers in the sequence. The program must
ensure the memory is valid until:

— the last copy of
mb is destroyed,
or

— the handler for the asynchronous operation is invoked,

whichever comes first.

The program must ensure
the object e is
valid until the handler for the asynchronous operation is invoked.

If the operation completes successfully, the ReadHandler object rh is invoked with the number
of bytes transferred. Otherwise it is invoked with 0.

a.send(b,cb,f,ec);

size_t

pre: a.is_open(b).

Writes one or more bytes of data to a connected socket
b.

The constant buffer sequence cb
specifies memory where the data to be written is located. The operation
shall always write a buffer in the sequence completely before proceeding
to the next.

If successful, returns the number of
bytes written. Otherwise returns 0.

a.async_send(b,cb,f,wh);

void

pre: a.is_open(b).

Initiates an asynchronous operation to write one or more
bytes of data to a connected socket b.
The operation is performed via the io_service
object a.get_io_service()
and behaves according to asynchronous
operation requirements.

The constant buffer
sequence cb specifies
memory where the data to be written is located. The operation shall
always write a buffer in the sequence completely before proceeding
to the next.

The implementation shall maintain one
or more copies of cb
until such time as the write operation no longer requires access
to the memory specified by the buffers in the sequence. The program
must ensure the memory is valid until:

— the last copy
of cb is destroyed,
or

— the handler for the asynchronous operation is invoked,

whichever comes first.

If the operation completes
successfully, the WriteHandler
object wh is invoked
with the number of bytes transferred. Otherwise it is invoked with
0.

consttypenameProtocol::endpoint&u=e;a.send_to(b,cb,u,f,ec);

size_t

pre: a.is_open(b).

Writes one or more bytes of data to an unconnected socket
b.

The constant buffer sequence cb
specifies memory where the data to be written is located. The operation
shall always write a buffer in the sequence completely before proceeding
to the next.

If successful, returns the number of
bytes written. Otherwise returns 0.

consttypenameProtocol::endpoint&u=e;a.async_send(b,cb,u,f,wh);

void

pre: a.is_open(b).

Initiates an asynchronous operation to write one or more
bytes of data to an unconnected socket b.
The operation is performed via the io_service
object a.get_io_service()
and behaves according to asynchronous
operation requirements.

The constant buffer
sequence cb specifies
memory where the data to be written is located. The operation shall
always write a buffer in the sequence completely before proceeding
to the next.

The implementation shall maintain one
or more copies of cb
until such time as the write operation no longer requires access
to the memory specified by the buffers in the sequence. The program
must ensure the memory is valid until:

— the last copy
of cb is destroyed,
or

— the handler for the asynchronous operation is invoked,

whichever comes first.

If the operation completes
successfully, the WriteHandler
object wh is invoked
with the number of bytes transferred. Otherwise it is invoked with
0.