VCM commit qp

This commit is contained in:
emanuel 2023-02-01 19:27:11 +00:00
parent 88bebbb29d
commit d87368a779
1 changed files with 9 additions and 3 deletions

View File

@ -337,8 +337,13 @@ static bool commit() {
mvc->negotiation = calloc(1, sizeof(CoordinationNegotiation_t)); mvc->negotiation = calloc(1, sizeof(CoordinationNegotiation_t));
mvc->negotiation->present = CoordinationNegotiation_PR_commit; mvc->negotiation->present = CoordinationNegotiation_PR_commit;
mvc->negotiation->choice.commit.nonce = coordination->session.nonce; mvc->negotiation->choice.commit.nonce = coordination->session.nonce;
mvc->negotiation->choice.commit.requesterId = coordination->session.own_req ? if (coordination->session.own_req) {
vcm_com->header.stationID : coordination->session.requester->station_id; mvc->negotiation->choice.commit.qp.present = CoordinationCommitQP_PR_acceptedTrajectoryId;
mvc->negotiation->choice.commit.qp.choice.acceptedTrajectoryId = 0;
} else {
mvc->negotiation->choice.commit.qp.present = CoordinationCommitQP_PR_requesterId;
mvc->negotiation->choice.commit.qp.choice.requesterId = coordination->session.requester->station_id;
}
if (coordination->chain.id) { if (coordination->chain.id) {
vcm_com->vcm.chain = calloc(1, sizeof(ChainInformation_t)); vcm_com->vcm.chain = calloc(1, sizeof(ChainInformation_t));
@ -471,6 +476,7 @@ static int vcm_check_handle_request(VCM_t* vcm, mc_neighbour_s* neighbour) {
neighbour->session.requested = true; neighbour->session.requested = true;
neighbour->session.nonce = request->nonce; neighbour->session.nonce = request->nonce;
neighbour->station_id = vcm->header.stationID; neighbour->station_id = vcm->header.stationID;
coordination->session.nonce = request->nonce;
coordination->session.requester = neighbour; coordination->session.requester = neighbour;
coordination->session.t_init = now; coordination->session.t_init = now;
@ -776,7 +782,7 @@ static int intersection_detected(VCM_t* vcm, mc_neighbour_s* neighbour) {
ProposedTrajectory_t* pt = mvc->negotiation->choice.request.desiredTrajectories.list.array[0]; ProposedTrajectory_t* pt = mvc->negotiation->choice.request.desiredTrajectories.list.array[0];
mvc->negotiation->choice.request.requesterId = vcm->header.stationID; mvc->negotiation->choice.request.requesterId = vcm->header.stationID;
mvc->negotiation->choice.request.nonce = rand(); mvc->negotiation->choice.request.nonce = rand();
neighbour->session.nonce = mvc->negotiation->choice.request.nonce; coordination->session.nonce = mvc->negotiation->choice.request.nonce;
pt->trajectory.list.count = trajectoryA_len - 1; pt->trajectory.list.count = trajectoryA_len - 1;
pt->trajectory.list.size = sizeof(void*) * (trajectoryA_len - 1); pt->trajectory.list.size = sizeof(void*) * (trajectoryA_len - 1);