Commit bcb3ec8c authored by Geoff Simmons's avatar Geoff Simmons

remove the hasdata field from the data entry struct

parent 827dcb0d
...@@ -210,7 +210,6 @@ data_submit(dataentry *de) ...@@ -210,7 +210,6 @@ data_submit(dataentry *de)
CHECK_OBJ_NOTNULL(de, DATA_MAGIC); CHECK_OBJ_NOTNULL(de, DATA_MAGIC);
assert(OCCUPIED(de)); assert(OCCUPIED(de));
assert(de->hasdata);
AZ(memchr(de->data, '\0', de->end)); AZ(memchr(de->data, '\0', de->end));
if (debug) if (debug)
LOG_Log(LOG_DEBUG, "submit: data=[%.*s]", de->end, de->data); LOG_Log(LOG_DEBUG, "submit: data=[%.*s]", de->end, de->data);
...@@ -307,7 +306,7 @@ addkey(dataentry *entry, enum VSL_tag_e tag, unsigned xid, char *key, ...@@ -307,7 +306,7 @@ addkey(dataentry *entry, enum VSL_tag_e tag, unsigned xid, char *key,
static int static int
dispatch(struct VSL_data *vsl, struct VSL_transaction * const pt[], void *priv) dispatch(struct VSL_data *vsl, struct VSL_transaction * const pt[], void *priv)
{ {
int status = DISPATCH_RETURN_OK; int status = DISPATCH_RETURN_OK, hasdata = 0;
dataentry *de = NULL; dataentry *de = NULL;
char reqend_str[REQEND_T_LEN]; char reqend_str[REQEND_T_LEN];
int32_t vxid; int32_t vxid;
...@@ -324,7 +323,6 @@ dispatch(struct VSL_data *vsl, struct VSL_transaction * const pt[], void *priv) ...@@ -324,7 +323,6 @@ dispatch(struct VSL_data *vsl, struct VSL_transaction * const pt[], void *priv)
} }
CHECK_OBJ(de, DATA_MAGIC); CHECK_OBJ(de, DATA_MAGIC);
assert(!OCCUPIED(de)); assert(!OCCUPIED(de));
de->hasdata = 0;
seen++; seen++;
for (struct VSL_transaction *t = pt[0]; t != NULL; t = *++pt) { for (struct VSL_transaction *t = pt[0]; t != NULL; t = *++pt) {
...@@ -385,7 +383,7 @@ dispatch(struct VSL_data *vsl, struct VSL_transaction * const pt[], void *priv) ...@@ -385,7 +383,7 @@ dispatch(struct VSL_data *vsl, struct VSL_transaction * const pt[], void *priv)
if (data_type == VCL_LOG_DATA) { if (data_type == VCL_LOG_DATA) {
append(de, tag, xid, data, datalen); append(de, tag, xid, data, datalen);
de->hasdata = 1; hasdata = 1;
} }
else else
addkey(de, tag, xid, data, datalen); addkey(de, tag, xid, data, datalen);
...@@ -416,7 +414,7 @@ dispatch(struct VSL_data *vsl, struct VSL_transaction * const pt[], void *priv) ...@@ -416,7 +414,7 @@ dispatch(struct VSL_data *vsl, struct VSL_transaction * const pt[], void *priv)
} }
} }
if (!de->hasdata) { if (!hasdata) {
no_data++; no_data++;
data_free(de); data_free(de);
return status; return status;
......
...@@ -111,7 +111,6 @@ DATA_Reset(dataentry *entry) ...@@ -111,7 +111,6 @@ DATA_Reset(dataentry *entry)
*entry->data = '\0'; *entry->data = '\0';
entry->keylen = 0; entry->keylen = 0;
*entry->key = '\0'; *entry->key = '\0';
entry->hasdata = 0;
} }
/* /*
......
...@@ -60,7 +60,6 @@ static char ...@@ -60,7 +60,6 @@ static char
for (int i = 0; i < config.max_records; i++) { for (int i = 0; i < config.max_records; i++) {
MCHECK_OBJ_NOTNULL(&entrytbl[i], DATA_MAGIC); MCHECK_OBJ_NOTNULL(&entrytbl[i], DATA_MAGIC);
MASSERT(!OCCUPIED(&entrytbl[i])); MASSERT(!OCCUPIED(&entrytbl[i]));
MAZ(entrytbl[i].hasdata);
MAN(entrytbl[i].data); MAN(entrytbl[i].data);
MAN(entrytbl[i].key); MAN(entrytbl[i].key);
MAZ(entrytbl[i].end); MAZ(entrytbl[i].end);
......
...@@ -166,7 +166,6 @@ static const char ...@@ -166,7 +166,6 @@ static const char
MAZ(*entry->data); MAZ(*entry->data);
MAZ(entry->keylen); MAZ(entry->keylen);
MAZ(*entry->key); MAZ(*entry->key);
MAZ(entry->hasdata);
} }
return NULL; return NULL;
......
...@@ -114,20 +114,18 @@ void WRK_Shutdown(void); ...@@ -114,20 +114,18 @@ void WRK_Shutdown(void);
unsigned global_nfree; unsigned global_nfree;
/* XXX: do we need xid, hasdata, reqend_t? all temp in dispatch? */
struct dataentry_s { struct dataentry_s {
unsigned magic; unsigned magic;
#define DATA_MAGIC 0xb41cb1e1 #define DATA_MAGIC 0xb41cb1e1
VSTAILQ_ENTRY(dataentry_s) freelist; VSTAILQ_ENTRY(dataentry_s) freelist;
VSTAILQ_ENTRY(dataentry_s) spmcq; VSTAILQ_ENTRY(dataentry_s) spmcq;
unsigned end; /* End of string index in data */
unsigned keylen;
char *data; char *data;
char *key; char *key;
unsigned occupied:1;
unsigned hasdata:1; unsigned end; /* End of string index in data */
unsigned keylen;
char occupied;
}; };
typedef struct dataentry_s dataentry; typedef struct dataentry_s dataentry;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment