source: trunk/libtransmission/cache.h @ 10983

Last change on this file since 10983 was 10983, checked in by charles, 11 years ago

(trunk libT) #1521 "memory cache to reduce disk IO" -- whoops, I missed these parts from Longinus' patch in r10978

File size: 1.9 KB
Line 
1/*
2 * This file Copyright (C) 2010 Mnemosyne LLC
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$
11 */
12
13#ifndef __TRANSMISSION__
14 #error only libtransmission should #include this header.
15#endif
16
17#ifndef TR_CACHE_H
18#define TR_CACHE_H
19
20typedef struct tr_cache tr_cache;
21
22/***
23****
24***/
25
26tr_cache * tr_cacheNew( int64_t max_bytes );
27
28void tr_cacheFree( tr_cache * );
29
30/***
31****
32***/
33
34int tr_cacheSetLimit( tr_cache * cache, int64_t max_bytes );
35
36int64_t tr_cacheGetLimit( const tr_cache * );
37
38int tr_cacheWriteBlock( tr_cache         * cache,
39                        tr_torrent       * torrent,
40                        tr_piece_index_t   piece,
41                        uint32_t           offset,
42                        uint32_t           len,
43                        const uint8_t    * writeme );
44
45int tr_cacheReadBlock( tr_cache         * cache,
46                       tr_torrent       * torrent,
47                       tr_piece_index_t   piece,
48                       uint32_t           offset,
49                       uint32_t           len,
50                       uint8_t          * setme );
51
52int tr_cachePrefetchBlock( tr_cache         * cache,
53                           tr_torrent       * torrent,
54                           tr_piece_index_t   piece,
55                           uint32_t           offset,
56                           uint32_t           len );
57
58/***
59****
60***/
61int tr_cacheFlushDone( tr_cache * cache );
62
63int tr_cacheFlushTorrent( tr_cache    * cache,
64                          tr_torrent  * torrent );
65
66int tr_cacheFlushFile( tr_cache         * cache,
67                       tr_torrent       * torrent,
68                       tr_file_index_t    file );
69
70#endif
Note: See TracBrowser for help on using the repository browser.