MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mock_server.h
1 #ifndef MEMCACHED_MOCK_SERVER_H
2 #define MEMCACHED_MOCK_SERVER_H
3 
4 #include <memcached/engine.h>
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
11  uint64_t magic;
12  const char *uname;
13  const char *config;
14  void *engine_data;
15  bool connected;
16  struct mock_connstruct *next;
17  int sfd;
18  ENGINE_ERROR_CODE status;
19  uint64_t evictions;
20  int nblocks; /* number of ewouldblocks */
21  bool handle_ewouldblock;
22  pthread_mutex_t mutex;
23  pthread_cond_t cond;
24 };
25 
27  EVENT_CALLBACK cb;
28  const void *cb_data;
29  struct mock_callbacks *next;
30 };
31 
32 struct mock_stats {
33  uint64_t astat;
34 };
35 
36 MEMCACHED_PUBLIC_API SERVER_HANDLE_V1 *get_mock_server_api(void);
37 
38 MEMCACHED_PUBLIC_API void init_mock_server(ENGINE_HANDLE *server_engine);
39 
40 MEMCACHED_PUBLIC_API
41 struct mock_connstruct *mk_mock_connection(const char *user,
42  const char *config);
43 
44 MEMCACHED_PUBLIC_API const void *create_mock_cookie(void);
45 
46 MEMCACHED_PUBLIC_API void destroy_mock_cookie(const void *cookie);
47 
48 MEMCACHED_PUBLIC_API void mock_set_ewouldblock_handling(const void *cookie, bool enable);
49 
50 MEMCACHED_PUBLIC_API void lock_mock_cookie(const void *cookie);
51 
52 MEMCACHED_PUBLIC_API void unlock_mock_cookie(const void *cookie);
53 
54 MEMCACHED_PUBLIC_API void waitfor_mock_cookie(const void *cookie);
55 
56 MEMCACHED_PUBLIC_API void mock_time_travel(int by);
57 
58 MEMCACHED_PUBLIC_API void disconnect_mock_connection(struct mock_connstruct *c);
59 
60 MEMCACHED_PUBLIC_API void disconnect_all_mock_connections(struct mock_connstruct *c);
61 
62 MEMCACHED_PUBLIC_API void destroy_mock_event_callbacks_rec(struct mock_callbacks *h);
63 
64 MEMCACHED_PUBLIC_API void destroy_mock_event_callbacks(void);
65 
66 #ifdef __cplusplus
67 }
68 #endif
69 
70 #endif /* MEMCACHED_MOCK_SERVER_H */