source: trunk/libtransmission/trevent.h @ 5754

Last change on this file since 5754 was 5754, checked in by charles, 14 years ago

#915: Does too many wake-ups when idle

  • Property svn:keywords set to Date Rev Author Id
File size: 1.4 KB
Line 
1/*
2 * This file Copyright (C) 2007-2008 Charles Kerr <charles@rebelbase.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: trevent.h 5754 2008-05-06 15:52:57Z charles $
11 */
12
13#ifndef TR_EVENT_H
14
15#include <stddef.h> /* size_t */
16#include <inttypes.h> /* uint64_t */
17
18/**
19**/
20
21void tr_eventInit( struct tr_handle * tr_handle );
22
23void tr_eventClose( struct tr_handle * tr_handle );
24
25
26typedef struct tr_timer  tr_timer;
27
28/**
29 * Calls timer_func(user_data) after the specified interval.
30 * The timer is freed if timer_func returns zero.
31 * Otherwise, it's called again after the same interval.
32 */
33tr_timer* tr_timerNew( struct tr_handle  * handle,
34                       int                 func( void * user_data ),
35                       void              * user_data,
36                       uint64_t            timeout_milliseconds );
37
38/**
39 * Frees a timer and sets the timer pointer to NULL.
40 */
41void tr_timerFree( tr_timer ** timer );
42
43
44int tr_amInEventThread( struct tr_handle * handle );
45
46void tr_runInEventThread( struct tr_handle * handle,
47                          void               func( void* ),
48                          void             * user_data );
49
50#endif
Note: See TracBrowser for help on using the repository browser.