media/mtransport/third_party/nrappkit/src/event/async_timer.h

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

michael@0 1 /**
michael@0 2 async_timer.h
michael@0 3
michael@0 4
michael@0 5 Copyright (C) 2004, Network Resonance, Inc.
michael@0 6 Copyright (C) 2006, Network Resonance, Inc.
michael@0 7 All Rights Reserved
michael@0 8
michael@0 9 Redistribution and use in source and binary forms, with or without
michael@0 10 modification, are permitted provided that the following conditions
michael@0 11 are met:
michael@0 12
michael@0 13 1. Redistributions of source code must retain the above copyright
michael@0 14 notice, this list of conditions and the following disclaimer.
michael@0 15 2. Redistributions in binary form must reproduce the above copyright
michael@0 16 notice, this list of conditions and the following disclaimer in the
michael@0 17 documentation and/or other materials provided with the distribution.
michael@0 18 3. Neither the name of Network Resonance, Inc. nor the name of any
michael@0 19 contributors to this software may be used to endorse or promote
michael@0 20 products derived from this software without specific prior written
michael@0 21 permission.
michael@0 22
michael@0 23 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
michael@0 24 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
michael@0 25 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
michael@0 26 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
michael@0 27 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
michael@0 28 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
michael@0 29 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
michael@0 30 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
michael@0 31 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
michael@0 32 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
michael@0 33 POSSIBILITY OF SUCH DAMAGE.
michael@0 34
michael@0 35
michael@0 36 ekr@rtfm.com Sun Feb 22 19:35:24 2004
michael@0 37 */
michael@0 38
michael@0 39
michael@0 40 #ifndef _async_timer_h
michael@0 41 #define _async_timer_h
michael@0 42
michael@0 43
michael@0 44 int NR_async_timer_init(void);
michael@0 45 int NR_async_timer_set(int delay_ms,NR_async_cb cb,void *cb_arg,char *function,int line,void **handle);
michael@0 46 int NR_async_timer_cancel(void *handle);
michael@0 47 int NR_async_timer_update_time(struct timeval *tv);
michael@0 48 int NR_async_timer_next_timeout(int *delay_ms);
michael@0 49 int NR_async_timer_sanity_check_for_cb_deleted(NR_async_cb cb,void *cb_arg);
michael@0 50
michael@0 51 #define NR_ASYNC_TIMER_SET(d,c,a,hp) NR_async_timer_set(d,c,a,(char *)__FUNCTION__,__LINE__,hp)
michael@0 52
michael@0 53 #endif
michael@0 54

mercurial