update versioning
diff --git a/nlsr.c b/nlsr.c
index 3895e5f..49bda4a 100644
--- a/nlsr.c
+++ b/nlsr.c
@@ -342,8 +342,9 @@
nlsr->in_content.p = &incoming_content;
nlsr->lsdb=(struct linkStateDatabase *)malloc(sizeof(struct linkStateDatabase *));
- nlsr->lsdb->version=(char *)malloc(16);
- nlsr->lsdb->version="0000000000000000";
+ //nlsr->lsdb->version=(char *)malloc(16);
+ //nlsr->lsdb->version="0000000000000000";
+ nlsr->lsdb->version=0;
nlsr->lsdb->adj_lsdb = hashtb_create(sizeof(struct adj_lsa), ¶m_adj_lsdb);
nlsr->lsdb->name_lsdb = hashtb_create(sizeof(struct name_lsa), ¶m_name_lsdb);
diff --git a/nlsr.h b/nlsr.h
index 11635fc..c491089 100644
--- a/nlsr.h
+++ b/nlsr.h
@@ -15,13 +15,13 @@
struct name_prefix *neighbor;
int face;
int status;
- char *last_lsdb_version;
+ long int last_lsdb_version;
struct hashtb *lsa_update_queue;
};
struct linkStateDatabase
{
- char *version;
+ long int version;
struct hashtb *adj_lsdb;
struct hashtb *name_lsdb;
};
diff --git a/nlsr_adl.c b/nlsr_adl.c
index 1be3fc2..6b5a4ba 100644
--- a/nlsr_adl.c
+++ b/nlsr_adl.c
@@ -45,13 +45,14 @@
hnbr->neighbor=(struct name_prefix *)malloc(sizeof(struct name_prefix *));
hnbr->neighbor->name=(char *)malloc(nbr->neighbor->length);
memcpy(hnbr->neighbor->name,nbr->neighbor->name,nbr->neighbor->length);
- hnbr->last_lsdb_version=(char *)malloc(15);
+ //hnbr->last_lsdb_version=(char *)malloc(15);
hnbr->neighbor->length=nbr->neighbor->length;
hnbr->face=nbr->face;
hnbr->status=nbr->status;
- memcpy(hnbr->last_lsdb_version,"00000000000000",14);
- memcpy(hnbr->last_lsdb_version+strlen(hnbr->last_lsdb_version),"\0",1);
+ //memcpy(hnbr->last_lsdb_version,"00000000000000",14);
+ //memcpy(hnbr->last_lsdb_version+strlen(hnbr->last_lsdb_version),"\0",1);
+ hnbr->last_lsdb_version=0;
struct hashtb_param param_luq = {0};
hnbr->lsa_update_queue=hashtb_create(200, ¶m_luq);
@@ -80,7 +81,7 @@
for(i=0;i<adl_element;i++)
{
nbr=e->data;
- printf("Neighbor: %s Length: %d Face: %d Status: %d LSDB Version: %s \n",nbr->neighbor->name,nbr->neighbor->length,nbr->face, nbr->status, nbr->last_lsdb_version);
+ printf("Neighbor: %s Length: %d Face: %d Status: %d LSDB Version: %ld \n",nbr->neighbor->name,nbr->neighbor->length,nbr->face, nbr->status, nbr->last_lsdb_version);
hashtb_next(e);
}
@@ -119,7 +120,7 @@
void
-update_adjacent_lsdb_version_to_adl(struct ccn_charbuf *nbr, char *version)
+update_adjacent_lsdb_version_to_adl(struct ccn_charbuf *nbr, long int version)
{
printf("update_adjacent_status_to_adl called \n");
@@ -135,7 +136,8 @@
if( res == HT_OLD_ENTRY )
{
nnbr=e->data;
- memcpy(nnbr->last_lsdb_version,version,strlen(version)+1);
+ nnbr->last_lsdb_version = version;
+ //memcpy(nnbr->last_lsdb_version,version,strlen(version)+1);
}
else if(res == HT_NEW_ENTRY)
{
diff --git a/nlsr_adl.h b/nlsr_adl.h
index 1803a14..cd25524 100644
--- a/nlsr_adl.h
+++ b/nlsr_adl.h
@@ -4,6 +4,6 @@
void add_adjacent_to_adl(struct ndn_neighbor *nbr);
void print_adjacent_from_adl(void);
void update_adjacent_status_to_adl(struct ccn_charbuf *nbr, int status);
-void update_adjacent_lsdb_version_to_adl(struct ccn_charbuf *nbr, char *version);
+void update_adjacent_lsdb_version_to_adl(struct ccn_charbuf *nbr, long int version);
#endif
diff --git a/nlsr_ndn.c b/nlsr_ndn.c
index 43ca77b..224294b 100644
--- a/nlsr_ndn.c
+++ b/nlsr_ndn.c
@@ -355,17 +355,21 @@
/* Now comp points to the start of your potential number, and size is its length */
}
- int dbcmp=strncmp(nlsr->lsdb->version,(char *)comp,16);
+ int excl_db_version=atoi((char *)comp);
+ int dbcmp=nlsr->lsdb->version-excl_db_version;
+ //int dbcmp=strncmp(nlsr->lsdb->version,(char *)comp,16);
+
+
printf (" dbcmp = %d \n",dbcmp);
if(dbcmp > 0)
{
- printf("Has Updated database (Older: %s New: %s)\n",comp,nlsr->lsdb->version);
+ printf("Has Updated database (Older: %s New: %ld)\n",comp,nlsr->lsdb->version);
}
else
{
- printf("Data base is not updated than the older one (Older: %s New: %s)\n",comp,nlsr->lsdb->version);
+ printf("Data base is not updated than the older one (Older: %s New: %ld)\n",comp,nlsr->lsdb->version);
printf("Sending NACK Content back.....\n");
struct ccn_charbuf *data=ccn_charbuf_create();
@@ -432,12 +436,12 @@
for(i=0;i<adl_element;i++)
{
nbr=e->data;
- printf("Sending interest for name prefix:%s/%s/%s/%s\n",nbr->neighbor->name,nlsr_str,lsdb_str,rnumstr);
+ printf("Sending interest for name prefix:%s/%s/%s\n",nbr->neighbor->name,nlsr_str,lsdb_str);
name=ccn_charbuf_create();
res=ccn_name_from_uri(name,nbr->neighbor->name);
ccn_name_append_str(name,nlsr_str);
ccn_name_append_str(name,lsdb_str);
- ccn_name_append_str(name,rnumstr);
+ //ccn_name_append_str(name,rnumstr);
/* adding Exclusion filter */