Code

frontend: Added 'FILTER' support to the 'LOOKUP' command.
[sysdb.git] / src / frontend / connection-private.h
index 574049e3dde05b42d1dc1e0dd326242d45ff43bc..1d4e019a01fe45db4d464c9bd387a2258d04b83d 100644 (file)
@@ -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 */
@@ -84,12 +88,13 @@ typedef struct {
 typedef struct {
        sdb_conn_node_t super;
        sdb_store_matcher_t *matcher;
-} conn_node_matcher_t;
-#define CONN_MATCHER(obj) ((conn_node_matcher_t *)(obj))
+} conn_matcher_t;
+#define CONN_MATCHER(obj) ((conn_matcher_t *)(obj))
 
 typedef struct {
        sdb_conn_node_t super;
-       conn_node_matcher_t *matcher;
+       conn_matcher_t *matcher;
+       conn_matcher_t *filter;
 } conn_lookup_t;
 #define CONN_LOOKUP(obj) ((conn_lookup_t *)(obj))
 
@@ -115,6 +120,8 @@ conn_lookup_destroy(sdb_object_t *obj)
 {
        if (CONN_LOOKUP(obj)->matcher)
                sdb_object_deref(SDB_OBJ(CONN_LOOKUP(obj)->matcher));
+       if (CONN_LOOKUP(obj)->filter)
+               sdb_object_deref(SDB_OBJ(CONN_LOOKUP(obj)->filter));
 } /* conn_lookup_destroy */
 
 #ifdef __cplusplus