Add chainInfo to VCM commit

This commit is contained in:
emanuel 2023-02-01 18:09:58 +00:00
parent 563eb950af
commit 88bebbb29d
1 changed files with 31 additions and 14 deletions

View File

@ -189,14 +189,14 @@ static void vcm_reject(VCM_t* vcm, mc_neighbour_s* neighbour) {
vcm_rep->vcm.chain->link.buf = malloc(32);
vcm_rep->vcm.chain->link.size = 32;
memcpy(vcm_rep->vcm.chain->link.buf, coordination->chain.links[0], 32);
vcm->vcm.chain->area = calloc(1, sizeof(ChainInformationArea_t));
vcm->vcm.chain->area->trees.list.count = 1;
vcm->vcm.chain->area->trees.list.size = 1 * sizeof(OCTET_STRING_t*);
vcm->vcm.chain->area->trees.list.array = malloc(1 * sizeof(OCTET_STRING_t*));
vcm_rep->vcm.chain->area = calloc(1, sizeof(ChainInformationArea_t));
vcm_rep->vcm.chain->area->trees.list.count = 1;
vcm_rep->vcm.chain->area->trees.list.size = 1 * sizeof(OCTET_STRING_t*);
vcm_rep->vcm.chain->area->trees.list.array = malloc(1 * sizeof(OCTET_STRING_t*));
for (int q = 0; q < 1; ++q) {
vcm->vcm.chain->area->trees.list.array[q] = calloc(1, sizeof(OCTET_STRING_t));
vcm->vcm.chain->area->trees.list.array[q]->buf = calloc(1,4);
vcm->vcm.chain->area->trees.list.array[q]->size = 4;
vcm_rep->vcm.chain->area->trees.list.array[q] = calloc(1, sizeof(OCTET_STRING_t));
vcm_rep->vcm.chain->area->trees.list.array[q]->buf = calloc(1,4);
vcm_rep->vcm.chain->area->trees.list.array[q]->size = 4;
}
}
@ -340,6 +340,23 @@ static bool commit() {
mvc->negotiation->choice.commit.requesterId = coordination->session.own_req ?
vcm_com->header.stationID : coordination->session.requester->station_id;
if (coordination->chain.id) {
vcm_com->vcm.chain = calloc(1, sizeof(ChainInformation_t));
vcm_com->vcm.chain->id = coordination->chain.id;
vcm_com->vcm.chain->link.buf = malloc(32);
vcm_com->vcm.chain->link.size = 32;
memcpy(vcm_com->vcm.chain->link.buf, coordination->chain.links[0], 32);
vcm_com->vcm.chain->area = calloc(1, sizeof(ChainInformationArea_t));
vcm_com->vcm.chain->area->trees.list.count = 1;
vcm_com->vcm.chain->area->trees.list.size = 1 * sizeof(OCTET_STRING_t*);
vcm_com->vcm.chain->area->trees.list.array = malloc(1 * sizeof(OCTET_STRING_t*));
for (int q = 0; q < 1; ++q) {
vcm_com->vcm.chain->area->trees.list.array[q] = calloc(1, sizeof(OCTET_STRING_t));
vcm_com->vcm.chain->area->trees.list.array[q]->buf = calloc(1,4);
vcm_com->vcm.chain->area->trees.list.array[q]->size = 4;
}
}
tx_vcm(vcm_com);
ASN_STRUCT_FREE(asn_DEF_VCM, vcm_com);
@ -719,14 +736,14 @@ static int intersection_detected(VCM_t* vcm, mc_neighbour_s* neighbour) {
vcm_req->vcm.chain->link.buf = malloc(32);
vcm_req->vcm.chain->link.size = 32;
memcpy(vcm_req->vcm.chain->link.buf, coordination->chain.links[0], 32);
vcm->vcm.chain->area = calloc(1, sizeof(ChainInformationArea_t));
vcm->vcm.chain->area->trees.list.count = 1;
vcm->vcm.chain->area->trees.list.size = 1 * sizeof(OCTET_STRING_t*);
vcm->vcm.chain->area->trees.list.array = malloc(1 * sizeof(OCTET_STRING_t*));
vcm_req->vcm.chain->area = calloc(1, sizeof(ChainInformationArea_t));
vcm_req->vcm.chain->area->trees.list.count = 1;
vcm_req->vcm.chain->area->trees.list.size = 1 * sizeof(OCTET_STRING_t*);
vcm_req->vcm.chain->area->trees.list.array = malloc(1 * sizeof(OCTET_STRING_t*));
for (int q = 0; q < 1; ++q) {
vcm->vcm.chain->area->trees.list.array[q] = calloc(1, sizeof(OCTET_STRING_t));
vcm->vcm.chain->area->trees.list.array[q]->buf = calloc(1,4);
vcm->vcm.chain->area->trees.list.array[q]->size = 4;
vcm_req->vcm.chain->area->trees.list.array[q] = calloc(1, sizeof(OCTET_STRING_t));
vcm_req->vcm.chain->area->trees.list.array[q]->buf = calloc(1,4);
vcm_req->vcm.chain->area->trees.list.array[q]->size = 4;
}
}