Skip to content
Snippets Groups Projects
NodeMonitor.h 1.61 KiB
Newer Older
  • Learn to ignore specific revisions
  •  * Copyright 2012, 2017 INFN
    
     * Licensed under the EUPL, Version 1.2 or – as soon they
     * will be approved by the European Commission - subsequent
     * versions of the EUPL (the "Licence");
     * You may not use this work except in compliance with the
     * Licence.
     * You may obtain a copy of the Licence at:
    
     * https://joinup.ec.europa.eu/software/page/eupl
    
     * Unless required by applicable law or agreed to in
     * writing, software distributed under the Licence is
     * distributed on an "AS IS" basis,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     * express or implied.
     * See the Licence for the specific language governing
     * permissions and limitations under the Licence.
    
     */
    
    
    #ifndef CHAOS_NODEMONITOR_H
    #define CHAOS_NODEMONITOR_H
    
    #include <string>
    
    #include <chaos_metadata_service_client/ChaosMetadataServiceClient.h>
    
    public chaos::metadata_service_client::monitor_system::QuantumSlotConsumer {
    
        const std::string node_id;
        const uint32_t monitor_duration;
        const uint32_t monitor_quantum_slot;
    
        void quantumSlotHasData(const std::string &key,
                                const chaos::metadata_service_client::monitor_system::KeyValue &value);
    
        void quantumSlotHasNoData(const std::string &key);
    
        NodeMonitor(const std::string &node_id,
                    const uint32_t monitor_duration,
                    const uint32_t monitor_quantum_slot);