Send data to the specified address.
This method should not block; if it does, the call may delay the caller longer than intended, and may result in the violation of certain expected timing constraints as well as poor performance. This call cannot fail. The transport may choose to queue the data for later delivery (for streaming connections), drop the data (for datagram connections), or close the connection. The actual data sent is data[offset] through data[length].
- Note
- Ownership of the data buffer is passed into this call. The transport is required to free the data buffer with PCRMem_Free().
This callback must not be NULL.
- Parameters
-
connection | The connection. This parameter must not be NULL. |
target | The target address. If this parameter is NULL, or the connection is point-to-point, this parameter is ignored and the peer address of the connection is assumed. |
data | The data buffer. data must not be NULL. |
offset | The offset into the data buffer where the data to send begins. This parameter must be less than length. |
length | The length of the data to send. |