index 534d3cbd3978d3ca43707aba0a071ad9bdd9281d..ae9cbbc91ba0cfa2dd532cb55795de95164a96fe 100644 (file)
uint32_t cmd;
uint32_t cmd_len;
uint32_t cmd;
uint32_t cmd_len;
+ /* amount of data to skip, e.g., after receiving invalid commands; if this
+ * is non-zero, the 'skip_len' first bytes of 'buf' are invalid */
+ size_t skip_len;
+
sdb_strbuf_t *errbuf;
/* user information */
sdb_strbuf_t *errbuf;
/* user information */
} conn_node_matcher_t;
#define CONN_MATCHER(obj) ((conn_node_matcher_t *)(obj))
} conn_node_matcher_t;
#define CONN_MATCHER(obj) ((conn_node_matcher_t *)(obj))
+typedef struct {
+ sdb_conn_node_t super;
+ conn_node_matcher_t *matcher;
+} conn_lookup_t;
+#define CONN_LOOKUP(obj) ((conn_lookup_t *)(obj))
+
/*
* type helper functions
*/
/*
* type helper functions
*/
free(CONN_FETCH(obj)->name);
} /* conn_fetch_destroy */
free(CONN_FETCH(obj)->name);
} /* conn_fetch_destroy */
+static void __attribute__((unused))
+conn_matcher_destroy(sdb_object_t *obj)
+{
+ if (CONN_MATCHER(obj)->matcher)
+ sdb_object_deref(SDB_OBJ(CONN_MATCHER(obj)->matcher));
+} /* conn_matcher_destroy */
+
+static void __attribute__((unused))
+conn_lookup_destroy(sdb_object_t *obj)
+{
+ if (CONN_LOOKUP(obj)->matcher)
+ sdb_object_deref(SDB_OBJ(CONN_LOOKUP(obj)->matcher));
+} /* conn_lookup_destroy */
+
#ifdef __cplusplus
} /* extern "C" */
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif