mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-05-03 03:10:04 +02:00
backported changes implemented in 2.3.2.rest
This commit is contained in:
parent
0cd18a3b7a
commit
d827ccc115
@ -1,9 +1,9 @@
|
|||||||
Path: slsDetectorsPackage/slsReceiverSoftware
|
Path: slsDetectorsPackage/slsReceiverSoftware
|
||||||
URL: origin git@git.psi.ch:sls_detectors_software/sls_receiver_software.git
|
URL: origin https://git.psi.ch/sls_detectors_software/sls_receiver_software.git
|
||||||
Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_receiver_software.git
|
Repository Root: origin https://git.psi.ch/sls_detectors_software/sls_receiver_software.git
|
||||||
Repsitory UUID: 6aedda5c374e0d0e9347b491fc451f3d4d4398b1
|
Repsitory UUID: ea88893da4c4272c5ee12c6b17f839cb33472ffa
|
||||||
Revision: 617
|
Revision: 619
|
||||||
Branch: 3.0-rc
|
Branch: (detached
|
||||||
Last Changed Author: Dhanya_Maliakal
|
Last Changed Author: Dhanya_Maliakal
|
||||||
Last Changed Rev: 622
|
Last Changed Rev: 624
|
||||||
Last Changed Date: 2017-08-04 14:28:08.000000002 +0200 ./CMakeLists.txt
|
Last Changed Date: 2017-08-08 06:30:01.884909364 +0200 ./src/UDPRESTImplementation.cpp
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
//#define SVNPATH ""
|
//#define SVNPATH ""
|
||||||
#define SVNURL "git@git.psi.ch:sls_detectors_software/sls_receiver_software.git"
|
#define SVNURL "https://git.psi.ch/sls_detectors_software/sls_receiver_software.git"
|
||||||
//#define SVNREPPATH ""
|
//#define SVNREPPATH ""
|
||||||
#define SVNREPUUID "6aedda5c374e0d0e9347b491fc451f3d4d4398b1"
|
#define SVNREPUUID "ea88893da4c4272c5ee12c6b17f839cb33472ffa"
|
||||||
//#define SVNREV 0x622
|
//#define SVNREV 0x624
|
||||||
//#define SVNKIND ""
|
//#define SVNKIND ""
|
||||||
//#define SVNSCHED ""
|
//#define SVNSCHED ""
|
||||||
#define SVNAUTH "Dhanya_Maliakal"
|
#define SVNAUTH "Dhanya_Maliakal"
|
||||||
#define SVNREV 0x622
|
#define SVNREV 0x624
|
||||||
#define SVNDATE 0x20170804
|
#define SVNDATE 0x20170808
|
||||||
//
|
//
|
||||||
|
@ -24,7 +24,7 @@ using namespace std;
|
|||||||
|
|
||||||
|
|
||||||
UDPRESTImplementation::UDPRESTImplementation(){
|
UDPRESTImplementation::UDPRESTImplementation(){
|
||||||
FILE_LOG(logDEBUG) << "PID: " << getpid() << __AT__ << " called";
|
FILE_LOG(logINFO) << "PID: " + __AT__ + " called";
|
||||||
|
|
||||||
//TODO I do not really know what to do with bottom...
|
//TODO I do not really know what to do with bottom...
|
||||||
// Default values
|
// Default values
|
||||||
@ -43,20 +43,29 @@ UDPRESTImplementation::~UDPRESTImplementation(){
|
|||||||
|
|
||||||
void UDPRESTImplementation::configure(map<string, string> config_map){
|
void UDPRESTImplementation::configure(map<string, string> config_map){
|
||||||
// am I ever getting there?
|
// am I ever getting there?
|
||||||
FILE_LOG(logWARNING) << __AT__ << " called";
|
FILE_LOG(logINFO) << __AT__ << " called";
|
||||||
|
|
||||||
map<string, string>::const_iterator pos;
|
map<string, string>::const_iterator pos;
|
||||||
|
|
||||||
|
|
||||||
pos = config_map.find("rest_hostname");
|
pos = config_map.find("rest_hostname");
|
||||||
if (pos != config_map.end() ){
|
if (pos != config_map.end() ){
|
||||||
string host_port_str = pos->second;
|
rest_hostname = config_map["rest_hostname"];
|
||||||
|
/*
|
||||||
|
string host_port_str = pos->second;
|
||||||
std::size_t pos = host_port_str.find(":"); // position of "live" in str
|
std::size_t pos = host_port_str.find(":"); // position of "live" in str
|
||||||
if(pos != string::npos){
|
if(pos != string::npos){
|
||||||
istringstream (host_port_str.substr (pos)) >> rest_port;
|
istringstream (host_port_str.substr (pos)) >> rest_port;
|
||||||
rest_hostname = host_port_str.substr(0, pos);
|
rest_hostname = host_port_str.substr(0, pos);
|
||||||
}
|
std::cout << "YEEEEEEEEEEEEEEEE" << rest_hostname << " " << rest_port << std::endl;
|
||||||
|
|
||||||
|
} */
|
||||||
|
std::cout << "YEEEEEEEEEEEEEEEE" << rest_hostname << std::endl;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//initialize_REST();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
for(map<string, string>::const_iterator i=config_map.begin(); i != config_map.end(); i++){
|
for(map<string, string>::const_iterator i=config_map.begin(); i != config_map.end(); i++){
|
||||||
std::cout << i->first << " " << i->second<< std::endl;
|
std::cout << i->first << " " << i->second<< std::endl;
|
||||||
@ -71,11 +80,13 @@ string UDPRESTImplementation::get_rest_state(RestHelper * rest/*, string *rest_s
|
|||||||
JsonBox::Value answer;
|
JsonBox::Value answer;
|
||||||
string rest_state = "";
|
string rest_state = "";
|
||||||
|
|
||||||
int code = rest->get_json("v1/state", &answer);
|
int code = rest->get_json("api/v1/state", &answer);
|
||||||
if ( code != -1 ){
|
if ( code != -1 ){
|
||||||
rest_state = answer["global_state"].getString();
|
//rest_state = answer["global_state"].getString();
|
||||||
|
rest_state = answer["state"]["status"].getString();
|
||||||
}
|
}
|
||||||
//rest_state = *prs;
|
//rest_state = *prs;
|
||||||
|
std::cout << "REST STATE " << rest_state << std::endl;
|
||||||
|
|
||||||
return rest_state;
|
return rest_state;
|
||||||
}
|
}
|
||||||
@ -83,8 +94,8 @@ string UDPRESTImplementation::get_rest_state(RestHelper * rest/*, string *rest_s
|
|||||||
|
|
||||||
void UDPRESTImplementation::initialize_REST(){
|
void UDPRESTImplementation::initialize_REST(){
|
||||||
|
|
||||||
FILE_LOG(logDEBUG) << __AT__ << " called";
|
FILE_LOG(logDEBUG1) << __AT__ << " called";
|
||||||
FILE_LOG(logDEBUG) << __AT__ << " REST status is initialized: " << isInitialized;
|
FILE_LOG(logINFO) << __AT__ << " REST status is initialized: " + std::string(isInitialized ? "True" : "False");
|
||||||
|
|
||||||
|
|
||||||
string rest_state = "";
|
string rest_state = "";
|
||||||
@ -96,19 +107,22 @@ void UDPRESTImplementation::initialize_REST(){
|
|||||||
* it i set by the client before calling initialize()
|
* it i set by the client before calling initialize()
|
||||||
*/
|
*/
|
||||||
string filename = getFileName();
|
string filename = getFileName();
|
||||||
|
int code;
|
||||||
|
|
||||||
|
|
||||||
if (filename.substr(filename.length() - 2) == "d0"){
|
if (filename.substr(filename.length() - 2) == "d0"){
|
||||||
is_main_receiver = true;
|
is_main_receiver = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rest_hostname.empty()) {
|
if (rest_hostname.empty()) {
|
||||||
FILE_LOG(logDEBUG) << __AT__ <<"can't initialize with empty string or NULL for detectorHostname";
|
FILE_LOG(logWARNING) << __AT__ << "can't initialize with empty string or NULL for detectorHostname";
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
rest = new RestHelper() ;
|
rest = new RestHelper() ;
|
||||||
rest->init(rest_hostname, rest_port);
|
std::cout << rest_hostname << " - " << rest_port << std::endl;
|
||||||
|
rest->init(rest_hostname);
|
||||||
rest->set_connection_params(1, 3);
|
rest->set_connection_params(1, 3);
|
||||||
|
|
||||||
int code;
|
|
||||||
|
|
||||||
if (!is_main_receiver){
|
if (!is_main_receiver){
|
||||||
isInitialized = true;
|
isInitialized = true;
|
||||||
@ -117,29 +131,32 @@ void UDPRESTImplementation::initialize_REST(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isInitialized == true) {
|
if (isInitialized == true) {
|
||||||
FILE_LOG(logDEBUG) << __AT__ << "already initialized, can't initialize several times";
|
FILE_LOG(logWARNING) << "already initialized, can't initialize several times";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
FILE_LOG(logDEBUG) << __AT__ << "with receiverHostName=" << rest_hostname << ":" << rest_port;
|
FILE_LOG(logINFO) << "with receiverHostName=" << rest_hostname;
|
||||||
|
|
||||||
try{
|
try{
|
||||||
rest_state = get_rest_state(rest);
|
rest_state = get_rest_state(rest);
|
||||||
|
|
||||||
if (rest_state == ""){
|
if (rest_state == ""){
|
||||||
FILE_LOG(logERROR) << __AT__ << " REST state returned: " << rest_state;
|
FILE_LOG(logERROR) << " REST state returned: " << rest_state;
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
isInitialized = true;
|
isInitialized = true;
|
||||||
status = slsReceiverDefs::IDLE;
|
status = slsReceiverDefs::IDLE;
|
||||||
}
|
}
|
||||||
FILE_LOG(logDEBUG) << __func__ << "Answer: " << answer;
|
FILE_LOG(logDEBUG1) << "Answer: " << answer;
|
||||||
}
|
}
|
||||||
catch(std::string e){
|
catch(std::string e){
|
||||||
FILE_LOG(logERROR) << __func__ << ": " << e;
|
FILE_LOG(logERROR) << __AT__ << ": " << e;
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// HORRIBLE FIX to get the main receiver
|
||||||
|
string filename = getFileName();
|
||||||
|
int code;
|
||||||
|
|
||||||
//JsonBox::Object json_object;
|
//JsonBox::Object json_object;
|
||||||
//json_object["configfile"] = JsonBox::Value("FILENAME");
|
//json_object["configfile"] = JsonBox::Value("FILENAME");
|
||||||
@ -156,22 +173,22 @@ void UDPRESTImplementation::initialize_REST(){
|
|||||||
|
|
||||||
rest_state = get_rest_state(rest);
|
rest_state = get_rest_state(rest);
|
||||||
|
|
||||||
//code = rest->get_json("v1/state", &answer);
|
//code = rest->get_json("api/v1/state", &answer);
|
||||||
FILE_LOG(logDEBUG) << __AT__ << " state got " << code << " " << answer << "\n";
|
//FILE_LOG(logDEBUG1, __AT__ << " state got " + std::string(code) << " " + answer + "\n";
|
||||||
if (rest_state != "INITIALIZED"){
|
if (rest_state != "INITIALIZED"){
|
||||||
test = "{\"path\":\"" + string( getFilePath() ) + "\", \"n_frames\":10}";
|
test = "{\"path\":\"" + string( getFilePath() ) + "\", \"n_frames\":10}";
|
||||||
code = rest->post_json("v1/state/initialize", &answer, test);
|
code = rest->post_json("api/v1/initialize", &answer, test);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
test = "{\"path\":\"" + string( getFilePath() ) + "\"}";
|
test = "{\"path\":\"" + string( getFilePath() ) + "\"}";
|
||||||
test = "{\"path\":\"" + string( getFilePath() ) + "\", \"n_frames\":10}";
|
test = "{\"path\":\"" + string( getFilePath() ) + "\", \"n_frames\":10}";
|
||||||
code = rest->post_json("v1/state/configure", &answer, test);
|
code = rest->post_json("api/v1/configure", &answer, test);
|
||||||
}
|
}
|
||||||
FILE_LOG(logDEBUG) << __AT__ << " state/configure got " << code;
|
//FILE_LOG(logDEBUG1) + " state/configure got " + std::string(code)).c_str());
|
||||||
|
|
||||||
rest_state = get_rest_state(rest);
|
rest_state = get_rest_state(rest);
|
||||||
|
|
||||||
FILE_LOG(logDEBUG) << __AT__ << " state got " << rest_state << "\n";
|
FILE_LOG(logINFO) << " state got " + std::string(rest_state) << "\n";
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -181,7 +198,7 @@ void UDPRESTImplementation::initialize_REST(){
|
|||||||
std::cout << "JSON " << json_value["status"] << std::endl;
|
std::cout << "JSON " << json_value["status"] << std::endl;
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
FILE_LOG(logDEBUG) << __func__ << ": initialize() done";
|
FILE_LOG(logDEBUG1) << ": configure() done";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -194,9 +211,9 @@ void UDPRESTImplementation::initialize_REST(){
|
|||||||
int UDPRESTImplementation::startReceiver(char message[]){
|
int UDPRESTImplementation::startReceiver(char message[]){
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
FILE_LOG(logDEBUG) << __FILE__ << "::" << __func__ << " starting";
|
FILE_LOG(logINFO) << " starting";
|
||||||
initialize_REST();
|
initialize_REST();
|
||||||
FILE_LOG(logDEBUG) << __FILE__ << "::" << __func__ << " initialized";
|
FILE_LOG(logINFO) << " initialized";
|
||||||
|
|
||||||
std::string answer;
|
std::string answer;
|
||||||
int code;
|
int code;
|
||||||
@ -210,19 +227,22 @@ int UDPRESTImplementation::startReceiver(char message[]){
|
|||||||
ss2 << getNumberOfFrames();
|
ss2 << getNumberOfFrames();
|
||||||
string str_n = ss2.str();
|
string str_n = ss2.str();
|
||||||
|
|
||||||
|
stringstream ss3;
|
||||||
|
ss3 << acquisitionPeriod;
|
||||||
|
string sAP = ss3.str();
|
||||||
|
|
||||||
string rest_state = "";
|
string rest_state = "";
|
||||||
std::string request_body = "{\"settings\": {\"bit_depth\": " + str_dr + ", \"n_frames\": " + str_n + "}}";
|
std::string request_body = "{\"settings\": {\"bit_depth\": " + str_dr + ", \"n_frames\": " + str_n + ", \"period\": " + sAP + "}}";
|
||||||
//std::string request_body = "{\"settings\": {\"nimages\":1, \"scanid\":999, \"bit_depth\":16}}";
|
//std::string request_body = "{\"settings\": {\"nimages\":1, \"scanid\":999, \"bit_depth\":16}}";
|
||||||
if(is_main_receiver){
|
if(is_main_receiver){
|
||||||
FILE_LOG(logDEBUG) << __FILE__ << "::" << " sending this configuration body: " << request_body;
|
FILE_LOG(logDEBUG1) << " sending this configuration body: " << request_body;
|
||||||
code = rest->post_json("v1/state/configure", &answer, request_body);
|
code = rest->post_json("api/v1/configure", &answer, request_body);
|
||||||
code = rest->get_json("v1/state", &answer);
|
code = rest->get_json("api/v1/state", &answer);
|
||||||
FILE_LOG(logDEBUG) << __FILE__ << "::" << " got: " << answer;
|
FILE_LOG(logDEBUG1) << " got: " << answer;
|
||||||
|
|
||||||
rest_state = get_rest_state(rest);
|
rest_state = get_rest_state(rest);
|
||||||
|
|
||||||
code = rest->post_json("v1/state/open", &answer);
|
code = rest->post_json("api/v1/open", &answer);
|
||||||
}
|
}
|
||||||
|
|
||||||
status = RUNNING;
|
status = RUNNING;
|
||||||
@ -235,7 +255,7 @@ int UDPRESTImplementation::startReceiver(char message[]){
|
|||||||
|
|
||||||
void UDPRESTImplementation::stopReceiver(){
|
void UDPRESTImplementation::stopReceiver(){
|
||||||
|
|
||||||
FILE_LOG(logDEBUG) << __AT__ << "called";
|
FILE_LOG(logINFO) << "called";
|
||||||
|
|
||||||
if(status == RUNNING)
|
if(status == RUNNING)
|
||||||
startReadout();
|
startReadout();
|
||||||
@ -251,7 +271,8 @@ void UDPRESTImplementation::stopReceiver(){
|
|||||||
//change status
|
//change status
|
||||||
status = IDLE;
|
status = IDLE;
|
||||||
|
|
||||||
FILE_LOG(logDEBUG) << __AT__ << "exited, status " << endl;
|
FILE_LOG(logDEBUG1) << "exited, status IDLE";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -259,13 +280,13 @@ void UDPRESTImplementation::stopReceiver(){
|
|||||||
|
|
||||||
|
|
||||||
void UDPRESTImplementation::startReadout(){
|
void UDPRESTImplementation::startReadout(){
|
||||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
FILE_LOG(logINFO) << " starting";
|
||||||
|
|
||||||
status = TRANSMITTING;
|
status = TRANSMITTING;
|
||||||
|
|
||||||
//kill udp socket to tell the listening thread to push last packet
|
//kill udp socket to tell the listening thread to push last packet
|
||||||
shutDownUDPSockets();
|
shutDownUDPSockets();
|
||||||
FILE_LOG(logDEBUG) << __FILE__ << "::" << __func__ << " done";
|
FILE_LOG(logDEBUG1) << " done";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -277,15 +298,15 @@ void UDPRESTImplementation::startReadout(){
|
|||||||
* Its also called by TCP in case of illegal shut down such as Ctrl + c.
|
* Its also called by TCP in case of illegal shut down such as Ctrl + c.
|
||||||
* Upto you what you want to do with it.
|
* Upto you what you want to do with it.
|
||||||
*/
|
*/
|
||||||
int UDPRESTImplementation::shutDownUDPSockets(){
|
void UDPRESTImplementation::shutDownUDPSockets(){
|
||||||
|
|
||||||
FILE_LOG(logDEBUG) << __AT__ << "called";
|
FILE_LOG(logDEBUG1) << "called";
|
||||||
|
|
||||||
// this is just to be sure, it could be removed
|
// this is just to be sure, it could be removed
|
||||||
/*
|
/*
|
||||||
for(int i=0;i<numListeningThreads;i++){
|
for(int i=0;i<numListeningThreads;i++){
|
||||||
if(udpSocket[i]){
|
if(udpSocket[i]){
|
||||||
FILE_LOG(logDEBUG) << __AT__ << " closing UDP socket #" << i;
|
FILE_LOG(logDEBUG1) << __AT__ << " closing UDP socket #" << i;
|
||||||
udpSocket[i]->ShutDownSocket();
|
udpSocket[i]->ShutDownSocket();
|
||||||
delete udpSocket[i];
|
delete udpSocket[i];
|
||||||
udpSocket[i] = NULL;
|
udpSocket[i] = NULL;
|
||||||
@ -296,10 +317,10 @@ int UDPRESTImplementation::shutDownUDPSockets(){
|
|||||||
int code;
|
int code;
|
||||||
string rest_state = "";
|
string rest_state = "";
|
||||||
|
|
||||||
//FILE_LOG(logDEBUG) << __AT__ << " numListeningThreads=" << numListeningThreads;
|
//FILE_LOG(logDEBUG1) << __AT__ << " numListeningThreads=" << numListeningThreads;
|
||||||
if (rest == NULL){
|
if (rest == NULL){
|
||||||
FILE_LOG(logWARNING) << __AT__ << "No REST object initialized, closing...";
|
FILE_LOG(logWARNING) << "No REST object initialized, closing...";
|
||||||
return OK;
|
//return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
// getting the state
|
// getting the state
|
||||||
@ -307,35 +328,76 @@ int UDPRESTImplementation::shutDownUDPSockets(){
|
|||||||
|
|
||||||
FILE_LOG(logWARNING) << "PLEASE WAIT WHILE CHECKING AND SHUTTING DOWN ALL CONNECTIONS!";
|
FILE_LOG(logWARNING) << "PLEASE WAIT WHILE CHECKING AND SHUTTING DOWN ALL CONNECTIONS!";
|
||||||
rest_state = get_rest_state(rest);
|
rest_state = get_rest_state(rest);
|
||||||
|
std::cout << rest_state << std::endl;
|
||||||
while (rest_state != "OPEN"){
|
while (rest_state != "OPEN"){
|
||||||
rest_state = get_rest_state(rest);
|
rest_state = get_rest_state(rest);
|
||||||
usleep(10000);
|
std::cout << rest_state << std::endl;
|
||||||
|
usleep(1000000);
|
||||||
}
|
}
|
||||||
//while (rest_state != "TRANSIENT"){
|
//while (rest_state != "TRANSIENT"){
|
||||||
// rest_state = get_rest_state(rest);
|
// rest_state = get_rest_state(rest);
|
||||||
// usleep(10000);
|
// usleep(10000);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
code = rest->post_json("v1/state/close", &answer);
|
code = rest->post_json("api/v1/close", &answer);
|
||||||
code = rest->post_json("v1/state/reset", &answer);
|
rest_state = get_rest_state(rest);
|
||||||
|
std::cout << rest_state << std::endl;
|
||||||
|
|
||||||
|
while (rest_state != "CLOSED"){
|
||||||
|
rest_state = get_rest_state(rest);
|
||||||
|
std::cout << rest_state << std::endl;
|
||||||
|
usleep(1000000);
|
||||||
|
}
|
||||||
|
std::cout << "After close" << rest_state << std::endl;
|
||||||
|
code = rest->post_json("api/v1/reset", &answer);
|
||||||
|
|
||||||
//rest_state = get_rest_state(rest);
|
//rest_state = get_rest_state(rest);
|
||||||
//std::cout << rest_state << std::endl;
|
std::cout << rest_state << std::endl;
|
||||||
|
std::cout << "After reset" << rest_state << std::endl;
|
||||||
}
|
}
|
||||||
status = slsReceiverDefs::RUN_FINISHED;
|
status = slsReceiverDefs::RUN_FINISHED;
|
||||||
|
|
||||||
//LEO: not sure it's needed
|
//LEO: not sure it's needed
|
||||||
//delete rest;
|
//delete rest;
|
||||||
|
|
||||||
FILE_LOG(logDEBUG) << __AT__ << "finished";
|
FILE_LOG(logDEBUG1) << "finished";
|
||||||
return OK;
|
// Leo: how state is handled now?
|
||||||
|
//return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* FIXME
|
||||||
|
* do you really need this, this is called if registerDataCallback() is activated
|
||||||
|
* in your gui to get data from receiver. you probably have a different way
|
||||||
|
* of reconstructing complete data set from all receivers
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
void UDPRESTImplementation::readFrame(char* c,char** raw, uint64_t &startAcq, uint64_t &startFrame){
|
||||||
|
FILE_LOG(logDEBUG1) << " called";
|
||||||
|
strcpy(c,"");
|
||||||
|
*raw = NULL;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* FIXME
|
||||||
|
* Its called by TCP in case of illegal shut down such as Ctrl + c.
|
||||||
|
* Upto you what you want to do with it.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Leo: not in the base class
|
||||||
|
/*
|
||||||
|
void UDPRESTImplementation::closeFiles(){
|
||||||
|
FILE_LOG(logDEBUG1) << "called for thread ";
|
||||||
|
FILE_LOG(logDEBUG1) << "exited for thread ";
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
uint64_t UDPRESTImplementation::getTotalFramesCaught() const{
|
uint64_t UDPRESTImplementation::getTotalFramesCaught() const{
|
||||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
FILE_LOG(logDEBUG1) << " starting";
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user