Socket specific data. More...
Data Fields | |
int | socket_id |
Socket identifier. | |
int | phone |
Parent module phone. | |
services_t | service |
Parent module service. | |
size_t | header_size |
Underlying protocol header size. | |
size_t | data_fragment_size |
Packet data fragment size. | |
fibril_rwlock_t | sending_lock |
Sending safety lock. | |
dyn_fifo_t | received |
Received packets queue. | |
fibril_mutex_t | receive_lock |
Received packets safety lock. | |
fibril_condvar_t | receive_signal |
Received packets signaling. | |
dyn_fifo_t | accepted |
Waiting sockets queue. | |
fibril_mutex_t | accept_lock |
Waiting sockets safety lock. | |
fibril_condvar_t | accept_signal |
Waiting sockets signaling. | |
int | blocked |
The number of blocked functions called. |
Socket specific data.
Each socket lock locks only its structure part and any number of them may be locked simultaneously.
fibril_mutex_t socket::accept_lock |
Waiting sockets safety lock.
Used for accepting and accept notifications. Locks the accepted attribute.
Referenced by accept(), socket_connection(), and socket_initialize().
fibril_condvar_t socket::accept_signal |
Waiting sockets signaling.
Signaled upon accept notification.
Referenced by accept(), socket_connection(), and socket_initialize().
Waiting sockets queue.
Referenced by accept(), socket(), socket_connection(), socket_destroy(), and socket_initialize().
int socket::blocked |
The number of blocked functions called.
Used while waiting for the received packets or accepted sockets.
Referenced by accept(), closesocket(), and recvfrom_core().
size_t socket::data_fragment_size |
Packet data fragment size.
Sending optimalization.
Referenced by accept(), sendto_core(), socket(), and socket_connection().
size_t socket::header_size |
Underlying protocol header size.
Sending and receiving optimalization.
Referenced by sendto_core(), and socket().
int socket::phone |
Parent module phone.
Referenced by accept(), closesocket(), getsockopt(), listen(), recvfrom_core(), sendto_core(), socket_initialize(), and socket_send_data().
fibril_mutex_t socket::receive_lock |
Received packets safety lock.
Used for receiving and receive notifications. Locks the received attribute.
Referenced by recvfrom_core(), socket_connection(), and socket_initialize().
fibril_condvar_t socket::receive_signal |
Received packets signaling.
Signaled upon receive notification.
Referenced by recvfrom_core(), socket_connection(), and socket_initialize().
Received packets queue.
Referenced by recvfrom_core(), socket(), socket_connection(), socket_destroy(), and socket_initialize().
fibril_rwlock_t socket::sending_lock |
Sending safety lock.
Locks the header_size and data_fragment_size attributes.
Referenced by sendto_core(), socket_connection(), and socket_initialize().
services_t socket::service |
Parent module service.
Referenced by accept(), closesocket(), getsockopt(), listen(), recvfrom_core(), sendto_core(), socket_initialize(), and socket_send_data().
Socket identifier.
Referenced by accept(), closesocket(), getsockopt(), listen(), recvfrom_core(), sendto_core(), socket_destroy(), socket_initialize(), and socket_send_data().