From d6b2e5256797cba53be69776c78eb7ffe7b43c29 Mon Sep 17 00:00:00 2001 From: c9s Date: Thu, 22 May 2014 16:37:53 +0800 Subject: [PATCH] Add hits, score fields to edge struct --- include/r3.h | 9 ++++++--- src/edge.c | 4 ++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/include/r3.h b/include/r3.h index e741a7b..c97e7c6 100644 --- a/include/r3.h +++ b/include/r3.h @@ -37,8 +37,8 @@ typedef struct _node node; typedef struct _route route; struct _node { - edge ** edges; - route ** routes; + edge ** edges; + route ** routes; uint32_t edge_len; uint32_t edge_cap; uint32_t route_len; @@ -60,13 +60,16 @@ struct _node { void * data; uint8_t endpoint; + }; struct _edge { char * pattern; int pattern_len; - bool has_slug; node * child; + uint64_t hits; + float score; + bool has_slug:1; }; typedef struct { diff --git a/src/edge.c b/src/edge.c index ae3c4c8..d84165b 100644 --- a/src/edge.c +++ b/src/edge.c @@ -28,6 +28,10 @@ edge * r3_edge_create(char * pattern, int pattern_len, node * child) { e->pattern = pattern; e->pattern_len = pattern_len; e->child = child; + + // default stats + e->hits = 0; + e->score = 0; return e; }