<!-- ##### SECTION Title ##### -->
Unified network I/O

<!-- ##### SECTION Short_Description ##### -->
Posix style network input/output functions.

<!-- ##### SECTION Long_Description ##### -->
<para>
The MateVFSSocket function family unifies network I/O through functions
similar to the standard POSIX read/write functions. The main difference is
that all operations are cancellable through the standard MateVFS cancellation
mechanism and you can specify a maximum amount of time an operation may take
through #mate_vfs_socket_set_timeout.

</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### TYPEDEF MateVFSSocket ##### -->
<para>

</para>


<!-- ##### STRUCT MateVFSSocketImpl ##### -->
<para>

</para>

@read: 
@write: 
@close: 
@set_timeout: 

<!-- ##### USER_FUNCTION MateVFSSocketReadFunc ##### -->
<para>

</para>

@connection: 
@buffer: 
@bytes: 
@bytes_read_out: 
@cancellation: 
@Returns: 


<!-- ##### USER_FUNCTION MateVFSSocketWriteFunc ##### -->
<para>

</para>

@connection: 
@buffer: 
@bytes: 
@bytes_written_out: 
@cancellation: 
@Returns: 


<!-- ##### USER_FUNCTION MateVFSSocketCloseFunc ##### -->
<para>

</para>

@connection: 
@cancellation: 


<!-- ##### USER_FUNCTION MateVFSSocketSetTimeoutFunc ##### -->
<para>

</para>

@connection: 
@timeout: 
@cancellation: 
@Returns: 


<!-- ##### FUNCTION mate_vfs_socket_new ##### -->
<para>

</para>

@impl: 
@connection: 
@Returns: 


<!-- ##### FUNCTION mate_vfs_socket_write ##### -->
<para>

</para>

@socket: 
@buffer: 
@bytes: 
@bytes_written: 
@cancellation: 
@Returns: 


<!-- ##### FUNCTION mate_vfs_socket_close ##### -->
<para>

</para>

@socket: 
@cancellation: 
@Returns: 


<!-- ##### FUNCTION mate_vfs_socket_read ##### -->
<para>

</para>

@socket: 
@buffer: 
@bytes: 
@bytes_read: 
@cancellation: 
@Returns: 


<!-- ##### FUNCTION mate_vfs_socket_free ##### -->
<para>

</para>

@socket: 


<!-- ##### FUNCTION mate_vfs_socket_set_timeout ##### -->
<para>

</para>

@socket: 
@timeout: 
@cancellation: 
@Returns: 


