OnixS C++ FIX Engine 4.13.0
API Documentation
Loading...
Searching...
No Matches
Throttler.h
Go to the documentation of this file.
1/*
2* Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3*
4* This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
5* and international copyright treaties.
6*
7* Access to and use of the software is governed by the terms of the applicable OnixS Software
8* Services Agreement (the Agreement) and Customer end user license agreements granting
9* a non-assignable, non-transferable and non-exclusive license to use the software
10* for it's own data processing purposes under the terms defined in the Agreement.
11*
12* Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
13* of this source code or associated reference material to any other location for further reproduction
14* or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15*
16* Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17* the terms of the Agreement is a violation of copyright law.
18*/
19
20#pragma once
21
22#include <cstddef>
23
24#include <OnixS/FIXEngine/ABI.h>
25
26namespace OnixS {
27namespace FIX {
28
31{
32public:
33
38 Throttler(size_t messagesCount, size_t intervalInMs = 1000);
39
42
45 void throttle();
46
51 size_t tryThrottle(bool resetWhenDelay = false);
52
57 void reset(size_t messagesCount, size_t intervalInMs = 1000);
58
59private:
60
61 Throttler(const Throttler &);
62 Throttler & operator = (const Throttler &);
63
64 class Impl;
65 Impl * const impl_;
66};
67
68}
69}
#define ONIXS_FIXENGINE_API
Definition ABI.h:45
~Throttler()
The destructor.
void reset(size_t messagesCount, size_t intervalInMs=1000)
Resets the throttling parameters.
size_t tryThrottle(bool resetWhenDelay=false)
Checks the throttling.
void throttle()
Performs the throttling.
Throttler(size_t messagesCount, size_t intervalInMs=1000)
The constructor.