From 041b9a0c5b2615f70ca1b3eb99f137a44fe36af4 Mon Sep 17 00:00:00 2001
From: Petr Zejdl <petr.zejdl@cern.ch>
Date: Fri, 5 Nov 2021 16:39:48 +0100
Subject: [PATCH] Remove obsolete file input

---
 src/Makefile      |  6 ++---
 src/file_input.cc | 63 -----------------------------------------------
 src/file_input.h  | 27 --------------------
 src/scdaq.cc      | 17 +------------
 src/scdaq.conf    |  3 +--
 5 files changed, 4 insertions(+), 112 deletions(-)
 delete mode 100644 src/file_input.cc
 delete mode 100644 src/file_input.h

diff --git a/src/Makefile b/src/Makefile
index 6e04e1d1..bee88c05 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -12,7 +12,7 @@
 TARGET = scdaq
 
 # source files
-SOURCES = config.cc DmaInputFilter.cc elastico.cc FileDmaInputFilter.cc file_input.cc  InputFilter.cc output.cc  processor.cc  scdaq.cc  session.cc  slice.cc WZDmaInputFilter.cc
+SOURCES = config.cc DmaInputFilter.cc elastico.cc FileDmaInputFilter.cc InputFilter.cc output.cc processor.cc scdaq.cc session.cc slice.cc WZDmaInputFilter.cc
 C_SOURCES = wz_dma.c
 
 # work out names of object files from sources
@@ -57,13 +57,11 @@ ${TARGET}: ${OBJECTS}
 
 #test2.o : product.h test2.h
 
-scdaq.o:	file_input.h processor.h elastico.h output.h format.h server.h controls.h config.h session.h log.h
+scdaq.o:	processor.h elastico.h output.h format.h server.h controls.h config.h session.h log.h
 config.o:	config.h log.h
 DmaInputFilter.o:	DmaInputFilter.h slice.h
 elastico.o:	elastico.h format.h slice.h controls.h log.h
-file_dma_input.o:	file_dma_input.h
 FileDmaInputFilter.o:	FileDmaInputFilter.h InputFilter.h log.h
-file_input.o:	file_input.h slice.h utility.h
 InputFilter.o:	InputFilter.h log.h
 output.o:	output.h slice.h log.h
 processor.o:	processor.h slice.h format.h log.h
diff --git a/src/file_input.cc b/src/file_input.cc
deleted file mode 100644
index 52d5e7b6..00000000
--- a/src/file_input.cc
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <cstdio>
-#include "file_input.h"
-#include "slice.h"
-#include "utility.h"
-
-FileInputFilter::FileInputFilter( const std::string& file_name_, size_t max_size_, 
-			  size_t nslices_) : 
-
-  filter(serial_in_order),
-  next_slice(Slice::preAllocate( max_size_,nslices_) ),
-  counts(0),
-  ncalls(0),
-  lastStartTime(tbb::tick_count::now()),
-  last_count(0)
-{ 
-  input_file = fopen( file_name_.c_str(), "r" );
-  if ( !input_file ) {
-    throw std::invalid_argument( "Invalid input file name: " + file_name_ );
-  }
-  fprintf(stderr,"Created input filter and allocated at 0x%llx \n",(unsigned long long)next_slice);
-}
-
-FileInputFilter::~FileInputFilter() {
-  fprintf(stderr,"Destroy input filter and delete at 0x%llx \n",(unsigned long long)next_slice);
-  Slice::giveAllocated(next_slice);
-  fprintf(stderr,"input operator total %lu  read \n",counts);
-  //  fclose( output_file );
-  fclose( input_file );
-}
-
-void* FileInputFilter::operator()(void*) {
-  
-  ncalls++;
-  size_t m = next_slice->avail();
-  size_t n = fread( next_slice->begin(), 1, m, input_file );
-  
-  if(n<m){
-    //      fprintf(stderr,"input operator read less %d \n",n);
-    
-  }
-  counts+=n/192;
-  
-  if(ncalls%100000==0){
-    printf("input bandwidth %f\n",double((counts-last_count)*192/1024./1024.)/
-	   double((tbb::tick_count::now() - lastStartTime).seconds()));
-    lastStartTime=tbb::tick_count::now();
-    last_count=counts;
-  } 
-  if( n==0 ) {
-    fseek(input_file,0,SEEK_SET);
-    return this->operator()(nullptr);
-  } else {
-    // Have more data to process.
-    Slice& t = *next_slice;
-    next_slice = Slice::getAllocated();
-    
-    char* p = t.end()+n;
-    t.set_end(p);
-    
-    return &t;
-  }
-  
-}
diff --git a/src/file_input.h b/src/file_input.h
deleted file mode 100644
index 613b82de..00000000
--- a/src/file_input.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef FILE_INPUT_H
-#define FILE_INPUT_H
-
-#include <memory>
-#include <string>
-#include "tbb/pipeline.h"
-#include "tbb/tick_count.h"
-
-class Slice;
-
-class FileInputFilter: public tbb::filter {
- public:
-  FileInputFilter( const std::string&, size_t, size_t);
-  ~FileInputFilter();
- private:
-  FILE* input_file;
-  Slice* next_slice;
-  void* operator()(void*) /*override*/;
-  uint64_t counts;
-  uint64_t ncalls;
-  tbb::tick_count lastStartTime;
-  uint64_t last_count;
-};
-
-typedef std::shared_ptr<FileInputFilter> FileInputFilterPtr;
-
-#endif
diff --git a/src/scdaq.cc b/src/scdaq.cc
index 766d1b82..b9fff5f8 100644
--- a/src/scdaq.cc
+++ b/src/scdaq.cc
@@ -19,7 +19,6 @@
 #include "FileDmaInputFilter.h"
 #include "WZDmaInputFilter.h"
 #include "DmaInputFilter.h"
-#include "file_input.h"
 #include "processor.h"
 #include "elastico.h"
 #include "output.h"
@@ -32,11 +31,6 @@
 using namespace std;
 
 
-
-
-
-
-
 bool silent = false;
 
 int run_pipeline( int nbThreads, ctrl& control, config& conf )
@@ -51,15 +45,7 @@ int run_pipeline( int nbThreads, ctrl& control, config& conf )
   // Create the pipeline
   tbb::pipeline pipeline;
 
-  if (input == config::InputType::FILE) {
-      // Create file-reading writing stage and add it to the pipeline
-      //MAX_BYTES_PER_INPUT_SLICE = 192*conf.getBlocksPerInputBuffer();
-      //TOTAL_SLICES = conf.getNumInputBuffers();
-      
-      //input_filter = std::make_shared<FileInputFilter>( conf.getInputFile(), MAX_BYTES_PER_INPUT_SLICE, TOTAL_SLICES );
-      throw std::runtime_error("input type FILE is not supported");
-
-  } else if (input == config::InputType::DMA) {
+  if (input == config::InputType::DMA) {
       // Create DMA reader
       input_filter = std::make_shared<DmaInputFilter>( conf.getDmaDevice(), packetBufferSize, nbPacketBuffers, control );
 
@@ -118,7 +104,6 @@ int run_pipeline( int nbThreads, ctrl& control, config& conf )
 }
 
 
-
 int main( int argc, char* argv[] ) {
   (void)(argc);
   (void)(argv);
diff --git a/src/scdaq.conf b/src/scdaq.conf
index ed864089..2ce5e864 100644
--- a/src/scdaq.conf
+++ b/src/scdaq.conf
@@ -2,7 +2,6 @@
 #   "wzdma"     for DMA driver from Wojciech M. Zabolotny
 #   "dma"       for XILINX DMA driver
 #   "filedma"   for reading from file and simulating DMA
-#   "file"      for reading from file
 input:wzdma
 #input:filedma
 
@@ -23,7 +22,7 @@ packets_per_report:200000
 #packets_per_report:1
 
 
-## Settings for file input
+## Settings for file(dma) input
 #input_file:/dev/shm/testdata.bin
 input_file:testdata.bin
 #input_file:../dumps/dump-empty-run.bin
-- 
GitLab