#ifndef PZK_DISPATCHER_H_
#define PZK_DISPATCHER_H_
#include "pzk_channel.h"
#include <zookeeper/zookeeper.h>
struct pzk_dispatcher {
pzk_channel_t* channel;
void (*notify) (struct pzk_dispatcher*);
};
typedef struct pzk_dispatcher pzk_dispatcher_t;
typedef void (*pzk_dispatcher_notify_fn) (struct pzk_dispatcher*);
typedef struct {
pzk_dispatcher_t* dispatcher;
void* ctx;
} pzk_watcher_t;
typedef struct pzk_event {
int type;
int state;
char* path;
void* arg;
void (*destroy) (struct pzk_event*);
} pzk_event_t;
void pzk_watcher_cb(
zhandle_t* zh,
int type,
int state,
const char* path,
void* watcherCtx
);
void pzk_auth_cb(int ret, const void* data);
pzk_event_t* new_pzk_event(
int type,
int state,
const char* path,
void* arg
);
#endif // ifndef PZK_DISPATCHER_H_