17 #ifndef ILOGUPLOADSTRATEGY_HPP_
18 #define ILOGUPLOADSTRATEGY_HPP_
23 #include "kaa/gen/EndpointGen.hpp"
30 class ILogStorageStatus;
31 class ILogFailoverCommand;
virtual void onFailure(ILogFailoverCommand &controller, LogDeliveryErrorCode code)=0
Callback is used when the log delivery is failed.
The public interface for the log upload strategy.
virtual ~ILogUploadStrategy()
virtual LogUploadStrategyDecision isUploadNeeded(ILogStorageStatus &status)=0
Decides whether the log upload is needed.
virtual std::size_t getTimeoutCheckPeriod()=0
virtual std::size_t getTimeout()=0
Maximum time to wait the log delivery response.
virtual std::size_t getMaxParallelUploads()=0
Max amount of log batches allowed to be uploaded parallel.
virtual std::size_t getLogUploadCheckPeriod()=0
std::shared_ptr< ILogUploadStrategy > ILogUploadStrategyPtr
LogUploadStrategyDecision
Log upload decisions.
virtual void onTimeout(ILogFailoverCommand &controller)=0
Callback is used when the log delivery timeout detected.
The public interface to represent the current log storage state.