Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions src/DIF/Enrollment/Enrollment.cc
Original file line number Diff line number Diff line change
Expand Up @@ -117,11 +117,6 @@ void Enrollment::initSignalsAndListeners() {
sigEnrollmentStopEnrollRes = registerSignal(SIG_ENROLLMENT_StopEnrollmentResponse);
sigEnrollmentStartOperReq = registerSignal(SIG_ENROLLMENT_StartOperationRequest);
sigEnrollmentStartOperRes = registerSignal(SIG_ENROLLMENT_StartOperationResponse);
sigEnrollmentFinish = registerSignal(SIG_ENROLLMENT_Finished);

lisEnrollmentAllResPosi = new LisEnrollmentAllResPosi(this);
catcher1->subscribe(SIG_FA_MgmtFlowAllocated, lisEnrollmentAllResPosi);
catcher1->subscribe(SIG_RA_MgmtFlowAllocated, lisEnrollmentAllResPosi);

//lisEnrollmentGetFlowFromFaiCreResPosi = new LisEnrollmentGetFlowFromFaiCreResPosi(this);
//catcher1->subscribe(SIG_FAI_CreateFlowResponsePositive, lisEnrollmentGetFlowFromFaiCreResPosi);
Expand Down
32 changes: 3 additions & 29 deletions src/DIF/Enrollment/EnrollmentListeners.cc
Original file line number Diff line number Diff line change
Expand Up @@ -31,36 +31,10 @@

#include "DIF/Enrollment/EnrollmentListeners.h"

EnrollmentListeners::EnrollmentListeners(Enrollment* nenrollment): enrollment(nenrollment) {
}

EnrollmentListeners::~EnrollmentListeners() {
enrollment = NULL;
}

void LisEnrollmentAllResPosi::receiveSignal(cComponent* src, simsignal_t id,
cObject* obj, cObject* detail) {
EV << "AllocationResponsePositive initiated by " << src->getFullPath() << " and processed by " << enrollment->getFullPath() << endl;
/*Flow* flow = dynamic_cast<Flow*>(obj);
if (flow) {
if (!flow->isManagementFlow()){
return;
}
#include "Common/Flow.h"
#include "DAF/CDAP/CDAPMessage_m.h"
#include "DIF/Enrollment/Enrollment.h"

enrollment->startCACE(flow);
}
else
EV << "EnrollmentListener reeived unknown object!" << endl;
*/
APNIPair* apnip = dynamic_cast<APNIPair*>(obj);
if (apnip) {
enrollment->startCACE(apnip);
}
else {
EV << "EnrollmentListener received unknown object!" << endl;
}

}

void LisEnrollmentGetFlowFromFaiCreResPosi::receiveSignal(cComponent* src, simsignal_t id,
cObject* obj, cObject* detail) {
Expand Down
58 changes: 24 additions & 34 deletions src/DIF/Enrollment/EnrollmentListeners.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,98 +33,88 @@
#ifndef ENROLLMENTLISTENERS_H_
#define ENROLLMENTLISTENERS_H_

#include "DIF/Enrollment/Enrollment.h"
#include <omnetpp.h>

class Enrollment;
class CDAPMessage;
class EnrollmentListeners : public cListener {
public:
EnrollmentListeners(Enrollment* nenrollment);
virtual ~EnrollmentListeners();
virtual void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject *detail) {
EV << "Signal to Enrollment initiated by " << src->getFullPath() << endl;
}
EnrollmentListeners(Enrollment* enrollment) : enrollment(enrollment) {}

protected:
Enrollment* enrollment;
};


class LisEnrollmentAllResPosi : public EnrollmentListeners {
public:
LisEnrollmentAllResPosi(Enrollment* nenrollment): EnrollmentListeners(nenrollment){};
using EnrollmentListeners::receiveSignal;
virtual void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail);
void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject *detail) override = 0;
};


class LisEnrollmentGetFlowFromFaiCreResPosi : public EnrollmentListeners {
public:
LisEnrollmentGetFlowFromFaiCreResPosi(Enrollment* nenrollment): EnrollmentListeners(nenrollment){};
using EnrollmentListeners::receiveSignal;
virtual void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail);
void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail) override;
};


class LisEnrollmentStartEnrollReq : public EnrollmentListeners {
public:
LisEnrollmentStartEnrollReq(Enrollment* nenrollment): EnrollmentListeners(nenrollment){};
using EnrollmentListeners::receiveSignal;
virtual void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail);
protected:
void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail) override;
};

class LisEnrollmentStartEnrollRes : public EnrollmentListeners {
public:
LisEnrollmentStartEnrollRes(Enrollment* nenrollment): EnrollmentListeners(nenrollment){};
using EnrollmentListeners::receiveSignal;
virtual void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail);
protected:
void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail) override;
};

class LisEnrollmentStopEnrollReq : public EnrollmentListeners {
public:
LisEnrollmentStopEnrollReq(Enrollment* nenrollment): EnrollmentListeners(nenrollment){};
using EnrollmentListeners::receiveSignal;
virtual void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail);
protected:
void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail) override;
};

class LisEnrollmentStopEnrollRes : public EnrollmentListeners {
public:
LisEnrollmentStopEnrollRes(Enrollment* nenrollment): EnrollmentListeners(nenrollment){};
using EnrollmentListeners::receiveSignal;
virtual void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail);
protected:
void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail) override;
};

class LisEnrollmentStopOperationReq : public EnrollmentListeners {
public:
LisEnrollmentStopOperationReq(Enrollment* nenrollment): EnrollmentListeners(nenrollment){};
using EnrollmentListeners::receiveSignal;
virtual void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail);
protected:
void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail) override;
};

class LisEnrollmentStartOperationRes : public EnrollmentListeners {
public:
LisEnrollmentStartOperationRes(Enrollment* nenrollment): EnrollmentListeners(nenrollment){};
using EnrollmentListeners::receiveSignal;
virtual void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail);
protected:
void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail) override;
};

class LisEnrollmentConResPosi : public EnrollmentListeners {
public:
LisEnrollmentConResPosi(Enrollment* nenrollment): EnrollmentListeners(nenrollment){};
using EnrollmentListeners::receiveSignal;
virtual void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail);
protected:
void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail) override;
};

class LisEnrollmentConResNega : public EnrollmentListeners {
public:
LisEnrollmentConResNega(Enrollment* nenrollment): EnrollmentListeners(nenrollment){};
using EnrollmentListeners::receiveSignal;
virtual void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail);
protected:
void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail) override;
};

class LisEnrollmentConReq : public EnrollmentListeners {
public:
LisEnrollmentConReq(Enrollment* nenrollment): EnrollmentListeners(nenrollment){};
using EnrollmentListeners::receiveSignal;
virtual void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail);
protected:
void receiveSignal(cComponent *src, simsignal_t id, cObject *obj, cObject* detail) override;
};


Expand Down
10 changes: 10 additions & 0 deletions src/DIF/Enrollment/EnrollmentStateTable.cc
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,16 @@ void EnrollmentStateTable::handleMessage(cMessage *msg)

}

bool EnrollmentStateTable::isConnectedTo(const APN &apn) {
for(auto it = StateTable.begin(); it != StateTable.end(); ++it) {
EnrollmentStateTableEntry est = *it;
if (est.getRemote().getApn() == apn &&
est.getCACEConStatus() == EnrollmentStateTableEntry::CON_ESTABLISHED) {
return true;
}
}
return false;
}

bool EnrollmentStateTable::isEnrolled(const APN& myApn) {
for(auto it = StateTable.begin(); it != StateTable.end(); ++it) {
Expand Down
1 change: 1 addition & 0 deletions src/DIF/Enrollment/EnrollmentStateTable.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ class EnrollmentStateTable : public cSimpleModule
public:
void insert(EnrollmentStateTableEntry entry);
EnrollmentStateTableEntry* findEntryByDstAPN(const APN& apn);
bool isConnectedTo(const APN &apn);
bool isEnrolled(const APN& myApn);

protected:
Expand Down
Loading