QuISP
Loading...
Searching...
No Matches
EPPSController.h
Go to the documentation of this file.
1
5#pragma once
6
7#include <PhotonicQubit_m.h>
9#include <omnetpp.h>
10#include <vector>
12#include "omnetpp/simtime.h"
13
14using namespace omnetpp;
15using namespace quisp::messages;
16
17namespace quisp::modules {
22class EPPSController : public cSimpleModule {
23 public:
26 int getExternalAdressFromPort(int port);
27
28 protected:
29 virtual void initialize() override;
30 virtual void handleMessage(cMessage *msg) override;
31 virtual void finish() override;
32 virtual void checkNeighborsBSACapacity();
33 virtual EPPSTimingNotification *generateNotifier(bool is_left);
34
35 private:
36 double getTravelTimeFromPort(int port);
37 int getExternalQNICIndexFromPort(int port);
38
39 // information for communications
49 simtime_t emit_time;
50 EPPSNotificationTimeout *time_out_message;
53
54 // EPPS characteristics
57 EmitPhotonRequest *emit_req;
59};
60
61} // namespace quisp::modules
EPPSController.
Definition EPPSController.h:22
simtime_t left_travel_time
Definition EPPSController.h:45
virtual void checkNeighborsBSACapacity()
Definition EPPSController.cc:89
EPPSController()
Definition EPPSController.cc:22
simtime_t emit_time
Definition EPPSController.h:49
int right_addr
Definition EPPSController.h:43
~EPPSController()
Definition EPPSController.cc:24
int address
Definition EPPSController.h:40
virtual void handleMessage(cMessage *msg) override
Definition EPPSController.cc:46
virtual EPPSTimingNotification * generateNotifier(bool is_left)
Definition EPPSController.cc:71
EntangledPhotonPairSource * epps
Definition EPPSController.h:55
bool emission_stopped
Definition EPPSController.h:58
double photon_emission_per_second
Definition EPPSController.h:48
simtime_t right_travel_time
Definition EPPSController.h:46
int time_out_count
Definition EPPSController.h:51
int right_qnic_index
Definition EPPSController.h:44
simtime_t time_interval_between_photons
Definition EPPSController.h:47
EmitPhotonRequest * emit_req
Definition EPPSController.h:57
virtual void initialize() override
Definition EPPSController.cc:28
EPPSNotificationTimeout * time_out_message
Definition EPPSController.h:50
virtual void finish() override
Definition EPPSController.cc:26
int getExternalAdressFromPort(int port)
Definition EPPSController.cc:123
simtime_t last_result_send_time
Definition EPPSController.h:52
utils::ComponentProvider provider
Definition EPPSController.h:56
int left_addr
Definition EPPSController.h:41
int left_qnic_index
Definition EPPSController.h:42
int getExternalQNICIndexFromPort(int port)
Definition EPPSController.cc:133
double getTravelTimeFromPort(int port)
Definition EPPSController.cc:116
Definition EntangledPhotonPairSource.h:15
ComponentProvider class provides a way to access other quisp other modules.
Definition ComponentProvider.h:22
Definition Application.cc:16