deploying the networking TS
Deploying the Networking TS Robert Leahy Lead Software Engineer rleahy@rleahy.ca Opening DataConn socket on 0.0.0.0:11653... Started (send SIGINT or SIGTERM to exit) 2021-10-06T04:01:26.490694105Z0 码力 | 44 页 | 892.77 KB | 5 月前3Things Happening in SG14
std::flat_set • [[likely]], [[unlikely]] • [[no_unique_address]] • Freestanding • std::hive • A new container with different tradeoffs that can be useful for the use-cases of low- latency-oriented developers Attributes • Move Semantics • Handling Disappointment • Pattern Matching • Tooling and Ease-of-Coding • Networking • Parallel and Concurrent Computing • Logging and I/O • Numeric Computing • Miscellaneous 69P2966 Attributes • Move Semantics • Handling Disappointment • Pattern Matching • Tooling and Ease-of-Coding • Networking • Parallel and Concurrent Computing • Logging and I/O • Numeric Computing • Miscellaneous 700 码力 | 148 页 | 1009.97 KB | 5 月前3THE NETWORKINGTS FROM SCRATCH: IO Objects
T C H Robert Leahy - rleahy@rleahy.caNetworking TS & Asio ISO C++ Networking is blocked on Executors (P0443) Target for Networking is currently C++23 (P0592) Used standalone Asio (1.18.0) to prepare prepare these slides Using the P0443-friendly extensions to the Networking TS shipping in “standalone” Asio & Boost.Asio (P0958) 2async_wait_then_write 3Composed Asynchronous Operations Composing asynchronous objects” provide a handle to low level asynchronous functionality within the framework of the Networking TS Examples: std::net::ip::tcp::socket std::net::steady_timer Possibilities: EFVI-based multicast0 码力 | 35 页 | 900.82 KB | 5 月前3C++26 Preview
1Priorities for c++26 bug fixes - always a high priority concurrency support std::execution (P2300) networking reflection, contracts, pattern matching additions to c++20/23 features ranges, format mop up c++23 constexpr pointer try_emplace_back(Args&&... args); constexpr pointer try_push_back(T&& x); template <container-compatible-rangeR> constexpr ranges::borrowed_iterator_t try_append_range(R&& rg); 1 2 3 constexpr pointer try_emplace_back(Args&&... args); constexpr pointer try_push_back(T&& x); template <container-compatible-range R> constexpr ranges::borrowed_iterator_t try_append_range(R&& rg); 1 2 3 0 码力 | 118 页 | 2.02 MB | 5 月前3Designing C++ Code Generator Guardrails
Infrastructure (TI) team where shared the concern that that our huge codebase is outgrowing critical container executables. Bloomberg has ~50,000 libraries, and the company has been around for 40 years. In Finance L.P. All rights reserved. 15 For services, impressive flexibility provides the framework for networking, threading, logging, and metrics reporting capabilities – allowing authors to focus on their0 码力 | 48 页 | 2.71 MB | 5 月前3Session Types in C++
practice • concurrent queues • networking sockets 51Communication? • Abstraction: channels... or actors Two main cases in practice • concurrent queues • networking sockets Bounded/Unbounded, Sync/Async 52Communication? • Abstraction: channels... or actors Two main cases in practice • concurrent queues • networking sockets Bounded/Unbounded, Sync/Async, MPMC, MPSC, SPMC, SPSC, Lockfree, Blocking... 53Communication 53Communication? • Abstraction: channels... or actors Two main cases in practice • concurrent queues • networking sockets io_context, resolver, acceptor, end_point, asio::buffer, async_read/write, serialization0 码力 | 89 页 | 1.55 MB | 5 月前3When Nanoseconds Matter: Ultrafast Trading Systems in C++
mBidsCompare); } else { return AddOrder(mAskLevels, price, volume, mAsksCompare); } }Transport: networking & concurrency 63Low-latency transport 64 • General pattern - Kernel bypass when receiving data fan-out to processes on the same serverUserspace Networking 66 • Solarflare – industry standard low-latency NIC Source: solarflare.comUserspace Networking 67 • Solarflare – industry standard low-latency code changes needed!) onload --profile=latency ./algo_trader Source: solarflare.comUserspace Networking 68 • Solarflare – industry standard low-latency NIC • OpenOnload - Easy to use: compatible0 码力 | 123 页 | 5.89 MB | 5 月前3C++20's
updates to the data? • Try to figure out some networking scenario to pull in the data when needed The STL currently does not have parts requiring networking and we would really like to avoid adding that updates to the data? • Try to figure out some networking scenario to pull in the data when needed The STL currently does not have parts requiring networking and we would really like to avoid adding that0 码力 | 55 页 | 8.67 MB | 5 月前3Conan 1.21 Documentation
run on desktop, server,␣ ˓→mobile and embedded systems. topics: ('conan', 'poco', 'building', 'networking', 'server', 'mobile', ˓→'embedded') generators: cmake exports: None exports_sources: CMakeLists com/conan-io/conan-center-index Homepage: https://pocoproject.org License: BSL-1.0 Topics: conan, poco, building, networking, server, mobile, embedded Recipe: Cache Binary: Cache Binary remote: conan-center Creation date: outside. If you leave it blank, the port value is used. Example: Use conan_server in a Docker container that internally runs in the 9300 port but exposes the 9999 port (where the clients will connect0 码力 | 621 页 | 4.92 MB | 1 年前3Conan 1.22 Documentation
run on desktop, server,␣ ˓→mobile and embedded systems. topics: ('conan', 'poco', 'building', 'networking', 'server', 'mobile', ˓→'embedded') generators: cmake exports: None exports_sources: CMakeLists com/conan-io/conan-center-index Homepage: https://pocoproject.org License: BSL-1.0 Topics: conan, poco, building, networking, server, mobile, embedded Recipe: Cache Binary: Cache Binary remote: conan-center Creation date: outside. If you leave it blank, the port value is used. Example: Use conan_server in a Docker container that internally runs in the 9300 port but exposes the 9999 port (where the clients will connect0 码力 | 629 页 | 4.98 MB | 1 年前3
共 174 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18