"Fossies" - the Fresh Open Source Software Archive

Member "sysdig-0.26.1/userspace/libsinsp/capture_stats_source.h" (24 May 2019, 1423 Bytes) of package /linux/misc/sysdig-0.26.1.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "capture_stats_source.h" see the Fossies "Dox" file reference documentation.

    1 /*
    2 Copyright (C) 2019 Sysdig Inc.
    3 
    4 This file is part of sysdig.
    5 
    6 Licensed under the Apache License, Version 2.0 (the "License");
    7 you may not use this file except in compliance with the License.
    8 You may obtain a copy of the License at
    9 
   10     http://www.apache.org/licenses/LICENSE-2.0
   11 
   12 Unless required by applicable law or agreed to in writing, software
   13 distributed under the License is distributed on an "AS IS" BASIS,
   14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   15 See the License for the specific language governing permissions and
   16 limitations under the License.
   17 
   18 */
   19 #pragma once
   20 
   21 #include "sinsp_public.h"
   22 
   23 class scap_stats;
   24 
   25 /**
   26  * Interface to an object that can provide capture statistics.
   27  *
   28  * Note that the intention here is to apply the Interface Segregation
   29  * Principle (ISP) to class sinsp.  Some clients of sinsp need only the
   30  * get_capture_stats() API, and this interface exposes only that API.  Do
   31  * not add additional APIs here.  If some client of sinsp needs a different
   32  * set of APIs, introduce a new interface.
   33  */
   34 class SINSP_PUBLIC capture_stats_source
   35 {
   36 public:
   37     virtual ~capture_stats_source() = default;
   38 
   39     /**
   40      * Fill the given structure with statistics about the currently
   41      * open capture.
   42      *
   43      * @note This may not work for a file-based capture source.
   44      *
   45      * @param[out] stats The capture statistics
   46      */
   47     virtual void get_capture_stats(scap_stats* stats) = 0;
   48 };