X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Ffrontend%2Fconnection-private.h;h=ae9cbbc91ba0cfa2dd532cb55795de95164a96fe;hb=f2be3352d0658d429733b8d5adbc3c5e7b50089a;hp=534d3cbd3978d3ca43707aba0a071ad9bdd9281d;hpb=9ae83505d8025ab32a8bdf7904ff4df8f9e661bf;p=sysdb.git diff --git a/src/frontend/connection-private.h b/src/frontend/connection-private.h index 534d3cb..ae9cbbc 100644 --- a/src/frontend/connection-private.h +++ b/src/frontend/connection-private.h @@ -64,6 +64,10 @@ struct sdb_conn { 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 */ @@ -87,6 +91,12 @@ typedef struct { } 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 */ @@ -97,6 +107,20 @@ conn_fetch_destroy(sdb_object_t *obj) 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