VCM commit qp
This commit is contained in:
parent
88bebbb29d
commit
d87368a779
12
src/vcm.c
12
src/vcm.c
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue