source: trunk/libtransmission/peer-msgs.h @ 8561

Last change on this file since 8561 was 8561, checked in by charles, 13 years ago

(trunk libT) re-start work on making libT doxygen friendly. still a long ways to go on this.

  • Property svn:keywords set to Date Rev Author Id
File size: 2.2 KB
Line 
1/*
2 * This file Copyright (C) 2007-2009 Charles Kerr <charles@transmissionbt.com>
3 *
4 * This file is licensed by the GPL version 2.  Works owned by the
5 * Transmission project are granted a special exemption to clause 2(b)
6 * so that the bulk of its code can remain under the MIT license.
7 * This exemption does not extend to derived works not owned by
8 * the Transmission project.
9 *
10 * $Id: peer-msgs.h 8561 2009-05-29 19:17:12Z charles $
11 */
12
13#ifndef __TRANSMISSION__
14#error only libtransmission should #include this header.
15#endif
16
17#ifndef TR_PEER_MSGS_H
18#define TR_PEER_MSGS_H
19
20#include <inttypes.h>
21#include "peer-common.h"
22#include "publish.h"
23
24struct tr_torrent;
25struct tr_peer;
26struct tr_bitfield;
27
28/**
29 * @addtogroup peers Peers
30 * @{
31 */
32
33typedef struct tr_peermsgs tr_peermsgs;
34
35tr_peermsgs* tr_peerMsgsNew( struct tr_torrent * torrent,
36                             struct tr_peer *    peer,
37                             tr_delivery_func    func,
38                             void *              user,
39                             tr_publisher_tag *  setme );
40
41
42void         tr_peerMsgsSetChoke(         tr_peermsgs *,
43                                      int doChoke );
44
45void         tr_peerMsgsHave( tr_peermsgs * msgs,
46                              uint32_t      pieceIndex );
47
48void         tr_peerMsgsPulse( tr_peermsgs * msgs );
49
50void         tr_peerMsgsCancel( tr_peermsgs * msgs,
51                                uint32_t      pieceIndex,
52                                uint32_t      offset,
53                                uint32_t      length );
54
55
56void         tr_peerMsgsFree( tr_peermsgs* );
57
58tr_addreq_t  tr_peerMsgsAddRequest( tr_peermsgs * peer,
59                                    uint32_t      pieceIndex,
60                                    uint32_t      offset,
61                                    uint32_t      length );
62
63void         tr_peerMsgsUnsubscribe( tr_peermsgs      * peer,
64                                     tr_publisher_tag   tag );
65
66size_t       tr_generateAllowedSet( tr_piece_index_t  * setmePieces,
67                                    size_t              desiredSetSize,
68                                    size_t              pieceCount,
69                                    const uint8_t     * infohash,
70                                    const tr_address  * addr );
71
72
73/* @} */
74#endif
Note: See TracBrowser for help on using the repository browser.