--- a
+++ b/src/DAF/AE/AESender.h
@@ -0,0 +1,99 @@
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see http://www.gnu.org/licenses/.
+//
+
+#ifndef __RINA_AESender_H_
+#define __RINA_AESender_H_
+
+//Standard libraries
+#include <omnetpp.h>
+//RINASim libraries
+#include "AE.h"
+
+class AESender : public AE
+{
+ //Consts
+ const char* S_TIM_START;
+ const char* S_TIM_COM;
+ const char* S_TIM_STOP;
+
+ const char* S_PAR_START;
+ const char* S_PAR_STOP;
+ const char* S_PAR_SEND;
+
+ const char* S_PAR_DSTAPNAME;
+ const char* S_PAR_DSTAPINSTANCE;
+ const char* S_PAR_DSTAENAME;
+ const char* S_PAR_DSTAEINSTANCE;
+
+ const char* S_PAR_RATE;
+ const char* S_PAR_RATE_VAR;
+ const char* S_PAR_SIZE;
+ const char* S_PAR_SIZE_VAR;
+
+ const char* S_MSG_PING;
+ const char* S_PAR_PING;
+ const char* S_VAL_MODULEPATH;
+
+ public:
+ AESender();
+ virtual ~AESender();
+
+ protected:
+ virtual void initialize();
+ virtual void finish();
+ virtual void handleMessage(cMessage *msg);
+
+ void handleSelfMessage(cMessage* msg);
+
+ private:
+ std::string myPath;
+
+ std::string dstApName;
+ std::string dstApInstance;
+ std::string dstAeName;
+ std::string dstAeInstance;
+
+ simtime_t startAt;
+ simtime_t stopAt;
+ simtime_t sendAfter;
+
+ double rate;
+ double ratevar;
+
+ unsigned int size;
+ unsigned int sizevar;
+
+ long send;
+ long pingreceived;
+ long received;
+ long sendSize;
+ long pingreceivedSize;
+ long receivedSize;
+
+ simtime_t minDelay;
+ simtime_t maxDelay;
+ simtime_t firstR;
+ simtime_t lastR;
+
+ void prepareAllocateRequest();
+ void preparePing();
+ void prepareDeallocateRequest();
+
+ virtual void processMRead(CDAPMessage* msg);
+ virtual void processMReadR(CDAPMessage* msg);
+
+};
+
+#endif