Commit 758a3f0c authored by Geoff Simmons's avatar Geoff Simmons

remove the hasdata field from the data entry struct

parent be62a314
......@@ -210,7 +210,6 @@ data_submit(dataentry *de)
CHECK_OBJ_NOTNULL(de, DATA_MAGIC);
assert(OCCUPIED(de));
assert(de->hasdata);
AZ(memchr(de->data, '\0', de->end));
if (debug)
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,
static int
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;
char reqend_str[REQEND_T_LEN];
int32_t vxid;
......@@ -324,7 +323,6 @@ dispatch(struct VSL_data *vsl, struct VSL_transaction * const pt[], void *priv)
}
CHECK_OBJ(de, DATA_MAGIC);
assert(!OCCUPIED(de));
de->hasdata = 0;
seen++;
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)
if (data_type == VCL_LOG_DATA) {
append(de, tag, xid, data, datalen);
de->hasdata = 1;
hasdata = 1;
}
else
addkey(de, tag, xid, data, datalen);
......@@ -416,7 +414,7 @@ dispatch(struct VSL_data *vsl, struct VSL_transaction * const pt[], void *priv)
}
}
if (!de->hasdata) {
if (!hasdata) {
no_data++;
data_free(de);
return status;
......
......@@ -111,7 +111,6 @@ DATA_Reset(dataentry *entry)
*entry->data = '\0';
entry->keylen = 0;
*entry->key = '\0';
entry->hasdata = 0;
}
/*
......
......@@ -60,7 +60,6 @@ static char
for (int i = 0; i < config.max_records; i++) {
MCHECK_OBJ_NOTNULL(&entrytbl[i], DATA_MAGIC);
MASSERT(!OCCUPIED(&entrytbl[i]));
MAZ(entrytbl[i].hasdata);
MAN(entrytbl[i].data);
MAN(entrytbl[i].key);
MAZ(entrytbl[i].end);
......
......@@ -166,7 +166,6 @@ static const char
MAZ(*entry->data);
MAZ(entry->keylen);
MAZ(*entry->key);
MAZ(entry->hasdata);
}
return NULL;
......
......@@ -114,20 +114,18 @@ void WRK_Shutdown(void);
unsigned global_nfree;
/* XXX: do we need xid, hasdata, reqend_t? all temp in dispatch? */
struct dataentry_s {
unsigned magic;
#define DATA_MAGIC 0xb41cb1e1
VSTAILQ_ENTRY(dataentry_s) freelist;
VSTAILQ_ENTRY(dataentry_s) spmcq;
unsigned end; /* End of string index in data */
unsigned keylen;
char *data;
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;
......
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