Don't expose scheduling side of extensions

Also moved debugging macro's from types-internal.h ro util-internal.h
This commit is contained in:
Willem Toorop 2014-11-07 11:38:02 +01:00
parent 30627045ae
commit 4cc4629bdf
5 changed files with 49 additions and 48 deletions

View File

@ -34,6 +34,7 @@
#include "extension/libmini_event.h"
#include "context.h"
#include "util-internal.h"
static void
getdns_mini_event_cleanup(getdns_eventloop *loop)

View File

@ -34,7 +34,7 @@
#include "config.h"
#include <uv.h>
#include "getdns/getdns_ext_libuv.h"
#include "types-internal.h"
#include "util-internal.h"
#define UV_DEBUG 0

View File

@ -35,16 +35,6 @@
extern "C" {
#endif
#ifdef S_SPLINT_S
# define INLINE
#else
# ifdef SWIG
# define INLINE static
# else
# define INLINE static inline
# endif
#endif
/* Enable the return_dnssec_status extension on every request.
value is either GETDNS_EXTENSION_TRUE or GETDNS_EXTENSION_FALSE
returns GETDNS_RETURN_GOOD on success or GETDNS_RETURN_INVALID_PARAMETER
@ -89,12 +79,6 @@ typedef struct getdns_eventloop_event {
void *ev;
} getdns_eventloop_event;
INLINE getdns_eventloop_event *getdns_eventloop_event_init(
getdns_eventloop_event *ev,void *userarg, getdns_eventloop_callback read_cb,
getdns_eventloop_callback write_cb, getdns_eventloop_callback timeout_cb)
{ ev->userarg = userarg; ev->read_cb = read_cb; ev->write_cb = write_cb;
ev->timeout_cb = timeout_cb; ev->ev = NULL; return ev; }
typedef struct getdns_eventloop_vmt getdns_eventloop_vmt;
typedef struct getdns_eventloop {
getdns_eventloop_vmt *vmt;
@ -141,11 +125,6 @@ getdns_context_detach_eventloop(getdns_context *context);
void
getdns_context_run(getdns_context *context);
#define GETDNS_CLEAR_EVENT(loop, event) \
do { if ((event)->ev) (loop)->vmt->clear((loop), (event)); } while(0)
#define GETDNS_SCHEDULE_EVENT(loop, fd, timeout, event) \
do { (loop)->vmt->schedule((loop),(fd),(timeout),(event)); } while(0)
#ifdef __cplusplus
}
#endif

View File

@ -42,7 +42,6 @@
#include "getdns/getdns_extra.h"
#include "util/rbtree.h"
#define SCHED_DEBUG 0
struct getdns_context;
struct getdns_upstreams;
@ -309,26 +308,4 @@ getdns_dns_req *dns_req_new(getdns_context *context, getdns_eventloop *loop,
void dns_req_free(getdns_dns_req * req);
#endif
#define DEBUG_ON(...) do { \
struct timeval tv; \
struct tm tm; \
char buf[10]; \
\
gettimeofday(&tv, NULL); \
gmtime_r(&tv.tv_sec, &tm); \
strftime(buf, 10, "%T", &tm); \
fprintf(stderr, "[%s.%.6d] ", buf, (int)tv.tv_usec); \
fprintf(stderr, __VA_ARGS__); \
} while (0)
#define DEBUG_OFF(...) do {} while (0)
#if defined(SCHED_DEBUG) && SCHED_DEBUG
#include <time.h>
#define DEBUG_SCHED(...) DEBUG_ON(__VA_ARGS__)
#else
#define DEBUG_SCHED(...) DEBUG_OFF(__VA_ARGS__)
#endif
/* types-internal.h */

View File

@ -35,13 +35,24 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
#include "types-internal.h"
*/
#ifndef UTIL_INTERNAL_H
#define UTIL_INTERNAL_H
#include <ldns/ldns.h>
#include "context.h"
#define SCHED_DEBUG 0
#ifdef S_SPLINT_S
# define INLINE
#else
# ifdef SWIG
# define INLINE static
# else
# define INLINE static inline
# endif
#endif
struct ub_result;
struct getdns_network_req;
getdns_return_t getdns_apply_network_result(getdns_network_req* netreq, struct ub_result* result);
@ -138,4 +149,37 @@ create_list_from_rr_list(struct getdns_context *context, ldns_rr_list * rr_list)
*/
int is_extension_set(struct getdns_dict *extensions, const char *extension);
#define DEBUG_ON(...) do { \
struct timeval tv; \
struct tm tm; \
char buf[10]; \
\
gettimeofday(&tv, NULL); \
gmtime_r(&tv.tv_sec, &tm); \
strftime(buf, 10, "%T", &tm); \
fprintf(stderr, "[%s.%.6d] ", buf, (int)tv.tv_usec); \
fprintf(stderr, __VA_ARGS__); \
} while (0)
#define DEBUG_OFF(...) do {} while (0)
#if defined(SCHED_DEBUG) && SCHED_DEBUG
#include <time.h>
#define DEBUG_SCHED(...) DEBUG_ON(__VA_ARGS__)
#else
#define DEBUG_SCHED(...) DEBUG_OFF(__VA_ARGS__)
#endif
INLINE getdns_eventloop_event *getdns_eventloop_event_init(
getdns_eventloop_event *ev,void *userarg, getdns_eventloop_callback read_cb,
getdns_eventloop_callback write_cb, getdns_eventloop_callback timeout_cb)
{ ev->userarg = userarg; ev->read_cb = read_cb; ev->write_cb = write_cb;
ev->timeout_cb = timeout_cb; ev->ev = NULL; return ev; }
#define GETDNS_CLEAR_EVENT(loop, event) \
do { if ((event)->ev) (loop)->vmt->clear((loop), (event)); } while(0)
#define GETDNS_SCHEDULE_EVENT(loop, fd, timeout, event) \
do { (loop)->vmt->schedule((loop),(fd),(timeout),(event)); } while(0)
#endif
/* util-internal.h */