JayBeams  0.1
Another project to have fun coding.
data.hpp
Go to the documentation of this file.
1 #ifndef jb_itch5_testing_data_hpp
2 #define jb_itch5_testing_data_hpp
3 
4 #include <chrono>
5 #include <cstddef>
6 #include <utility>
7 #include <vector>
8 
9 namespace jb {
10 namespace itch5 {
11 
12 struct timestamp;
13 
14 namespace testing {
15 
16 /// Return the expected timestamp for all the test messages
17 std::chrono::nanoseconds expected_ts();
18 
19 //@{
20 /**
21  * @name Well-known raw messages
22  *
23  * The following functions return well-known raw buffers for each
24  * message type. They are used during testing to validate the message
25  * format. They all return a buffer and its length.
26  */
27 //@}
28 std::pair<char const*, std::size_t> message_header();
29 std::pair<char const*, std::size_t> add_order();
30 std::pair<char const*, std::size_t> add_order_mpid();
31 std::pair<char const*, std::size_t> broken_trade();
32 std::pair<char const*, std::size_t> cross_trade();
33 std::pair<char const*, std::size_t> ipo_quoting_period_update();
34 std::pair<char const*, std::size_t> market_participant_position();
35 std::pair<char const*, std::size_t> mwcb_breach();
36 std::pair<char const*, std::size_t> mwcb_decline_level();
37 std::pair<char const*, std::size_t> net_order_imbalance_indicator();
38 std::pair<char const*, std::size_t> order_cancel();
39 std::pair<char const*, std::size_t> order_delete();
40 std::pair<char const*, std::size_t> order_executed();
41 std::pair<char const*, std::size_t> order_executed_price();
42 std::pair<char const*, std::size_t> order_replace();
43 std::pair<char const*, std::size_t> reg_sho_restriction();
44 std::pair<char const*, std::size_t> stock_directory();
45 std::pair<char const*, std::size_t> stock_trading_action();
46 std::pair<char const*, std::size_t> system_event();
47 std::pair<char const*, std::size_t> trade();
48 //@}
49 
50 /**
51  * Generate test messages with a more-or-less valid header.
52  *
53  * For most tests we only need messages with a valid timestamp and
54  * message type and a known length. This is a simple function to
55  * generate such messages.
56  */
57 std::vector<char> create_message(
58  int message_type, jb::itch5::timestamp ts, std::size_t total_size);
59 
60 } // namespace testing
61 } // namespace itch5
62 } // namespace jb
63 
64 #endif // jb_itch5_testing_data_hpp
std::pair< char const *, std::size_t > order_replace()
Definition: data.cpp:203
std::pair< char const *, std::size_t > order_executed()
Definition: data.cpp:175
std::pair< char const *, std::size_t > add_order_mpid()
Definition: data.cpp:47
std::pair< char const *, std::size_t > add_order()
Definition: data.cpp:33
std::pair< char const *, std::size_t > mwcb_breach()
Definition: data.cpp:113
std::pair< char const *, std::size_t > system_event()
Definition: data.cpp:262
std::pair< char const *, std::size_t > order_cancel()
Definition: data.cpp:154
std::pair< char const *, std::size_t > market_participant_position()
Definition: data.cpp:100
std::pair< char const *, std::size_t > mwcb_decline_level()
Definition: data.cpp:122
std::pair< char const *, std::size_t > message_header()
Definition: data.cpp:25
std::pair< char const *, std::size_t > net_order_imbalance_indicator()
Definition: data.cpp:134
std::pair< char const *, std::size_t > broken_trade()
Definition: data.cpp:62
Represent a ITCH-5.0 timestamp.
Definition: timestamp.hpp:17
std::pair< char const *, std::size_t > stock_directory()
Definition: data.cpp:228
std::vector< char > create_message(int message_type, jb::itch5::timestamp ts, std::size_t total_size)
Generate test messages with a more-or-less valid header.
Definition: data.cpp:287
std::chrono::nanoseconds expected_ts()
Return the expected timestamp for all the test messages.
Definition: data.cpp:19
std::pair< char const *, std::size_t > order_executed_price()
Definition: data.cpp:188
std::pair< char const *, std::size_t > reg_sho_restriction()
Definition: data.cpp:218
std::pair< char const *, std::size_t > ipo_quoting_period_update()
Definition: data.cpp:87
std::pair< char const *, std::size_t > order_delete()
Definition: data.cpp:165
std::pair< char const *, std::size_t > stock_trading_action()
Definition: data.cpp:250
std::pair< char const *, std::size_t > cross_trade()
Definition: data.cpp:72
The top-level namespace for the JayBeams library.
Definition: as_hhmmss.hpp:7
std::pair< char const *, std::size_t > trade()
Definition: data.cpp:271