BufferingPolicy.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2005 by Willem van Straten
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 // dspsr/Kernel/Classes/dsp/BufferingPolicy.h
10 
11 #ifndef __baseband_dsp_BufferingPolicy_h
12 #define __baseband_dsp_BufferingPolicy_h
13 
14 #include "OwnStream.h"
15 #include "environ.h"
16 
17 #include <string>
18 
19 namespace dsp {
20 
22 
24  class BufferingPolicy : public OwnStream {
25 
26  public:
27 
29  virtual void pre_transformation () = 0;
30 
32  virtual void post_transformation () = 0;
33 
35  virtual void set_next_start (uint64_t next_start_sample) = 0;
36 
38  virtual void set_maximum_samples (uint64_t minimum_samples) = 0;
39 
41  virtual uint64_t bytes_storage() const = 0;
42 
44  std::string get_name() { return name; }
45 
46  protected:
47 
49  std::string name;
50 
51  };
52 
53 }
54 
55 #endif
Contains all Baseband Data Reduction Library classes.
Definition: ASCIIObservation.h:17
virtual uint64_t bytes_storage() const =0
Get the number of bytes of storage required by this buffer.
virtual void pre_transformation()=0
Perform all buffering tasks required before transformation.
virtual void post_transformation()=0
Perform all buffering tasks required after transformation.
std::string name
Descriptive name.
Definition: BufferingPolicy.h:59
std::string get_name()
Returns the name.
Definition: BufferingPolicy.h:54
virtual void set_next_start(uint64_t next_start_sample)=0
Set the first sample to be used from the input next time.
virtual void set_maximum_samples(uint64_t minimum_samples)=0
Set the minimum number of samples that can be processed.

Generated using doxygen 1.8.17