This driver compresses its data stream before sending it to the link layer.
|
Data Structures |
struct | buffer |
struct | attr |
| Private attributes for the decompressing layer. More...
|
Defines |
#define | BUFFER_COUNT 2 |
#define | BUFFER_NAGLE 200 /**< 200 ms */ |
| 200 ms
|
#define | DF_FLOWC 0x00000001 /**< We flow-controlled the upper layer */ |
| We flow-controlled the upper layer.
|
#define | DF_NAGLE 0x00000002 /**< Nagle timer started */ |
| Nagle timer started.
|
#define | DF_FLUSH 0x00000004 /**< Flushing started */ |
| Flushing started.
|
#define | DF_SHUTDOWN 0x00000008 /**< Stack has shut down */ |
| Stack has shut down.
|
Functions |
| RCSID ("$Id:tx_deflate.c, v 1.31 2005/11/15 21:30:07 rmanfredi Exp $") |
void | deflate_nagle_timeout (cqueue_t *cq, gpointer arg) |
| Called from the callout queue when the Nagle timer expires.
|
size_t | tx_deflate_pending (txdrv_t *tx) |
void | deflate_send (txdrv_t *tx) |
| Write ready-to-be-sent buffer to the lower layer.
|
void | deflate_nagle_start (txdrv_t *tx) |
| Start the nagle timer.
|
void | deflate_nagle_stop (txdrv_t *tx) |
| Stop the nagle timer.
|
void | deflate_rotate_and_send (txdrv_t *tx) |
| Make the "filling buffer" the buffer to send, and rotate filling buffers.
|
gboolean | deflate_flush (txdrv_t *tx) |
| Flush compression within filling buffer.
|
void | deflate_flush_send (txdrv_t *tx) |
| Flush compression and send whatever we got so far.
|
gint | deflate_add (txdrv_t *tx, gconstpointer data, gint len) |
| Compress as much data as possible to the output buffer, sending data as we go along.
|
void | deflate_service (gpointer data) |
| Service routine for the compressing stage.
|
gpointer | tx_deflate_init (txdrv_t *tx, gpointer args) |
| Initialize the driver.
|
void | tx_deflate_destroy (txdrv_t *tx) |
| Get rid of the driver's private data.
|
ssize_t | tx_deflate_write (txdrv_t *tx, gpointer data, size_t len) |
| Write data buffer.
|
ssize_t | tx_deflate_writev (txdrv_t *tx, struct iovec *iov, gint iovcnt) |
| Write I/O vector.
|
void | tx_deflate_enable (txdrv_t *unused_tx) |
| Allow servicing of upper TX queue.
|
void | tx_deflate_disable (txdrv_t *unused_tx) |
| Disable servicing of upper TX queue.
|
void | tx_deflate_flush (txdrv_t *tx) |
| Trigger the Nagle timeout immediately, if registered.
|
void | tx_deflate_shutdown (txdrv_t *tx) |
| Disable all transmission.
|
void | tx_deflate_close (txdrv_t *tx, tx_closed_t cb, gpointer arg) |
| Close the layer, flushing all the data there is.
|
const struct txdrv_ops * | tx_deflate_get_ops (void) |
Variables |
const struct txdrv_ops | tx_deflate_ops |