Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • dcc.h

    rdce3903 r2c2df7d  
    4444#define _DCC_H
    4545
    46 /* Send an ACK after receiving this amount of data */
     46/* don't wait for acknowledgments */
     47#define DCC_SEND_AHEAD
     48
     49/* This multiplier specifies how many bytes we
     50 * can go ahead within one event loop cycle. Notice that all in all,
     51 * we can easily be more ahead if the event loop shoots often enough.
     52 * (or the receiver processes slow enough)
     53 *
     54 * Setting this value too high will cause send buffer overflows.
     55 */
     56#define DCC_SEND_AHEAD_MUL 10
     57
     58/*
     59 * queue thresholds for the out of data and overflow conditions
     60 */
     61#define DCC_QUEUE_THRESHOLD_LOW 2048
     62#define DCC_QUEUE_THRESHOLD_HIGH 65536
     63
     64/* only used in non-ahead mode */
    4765#define DCC_PACKET_SIZE 1024
     66
     67/* stores buffers handed over by IM protocols */
     68struct dcc_buffer {
     69        char *b;
     70        int len;
     71};
    4872
    4973typedef struct dcc_file_transfer {
     
    6589       
    6690        /*
     91         * The total number of queued bytes. The following equality should always hold:
     92         *
     93         *      queued_bytes = sum(queued_buffers.len) - buffer_pos
     94         */
     95        unsigned int queued_bytes;
     96
     97        /*
     98         * A list of dcc_buffer structures.
     99         * These are provided by the protocols directly so that no copying is neccessary.
     100         */
     101        GSList *queued_buffers;
     102       
     103        /*
     104         * current position within the first buffer.
     105         * Is non-null if the whole buffer couldn't be sent at once.
     106         */
     107        int buffer_pos;
     108
     109        /*
    67110         * The total amount of bytes that have been sent to the irc client.
    68111         */
    69112        size_t bytes_sent;
    70113       
    71         /* imc's handle */
     114        /* imcb's handle */
    72115        file_transfer_t *ft;
    73 
    74         /* if we're receiving, this is the sender's socket address */
    75         struct sockaddr_storage saddr;
    76116
    77117} dcc_file_transfer_t;
     
    81121void dcc_canceled( file_transfer_t *file, char *reason );
    82122
    83 gboolean dccs_send_write( file_transfer_t *file, char *data, unsigned int data_size );
     123gboolean dccs_send_write( file_transfer_t *file, gpointer data, unsigned int data_size );
    84124
    85 file_transfer_t *dcc_request( struct im_connection *ic, char *line );
    86125#endif
Note: See TracChangeset for help on using the changeset viewer.