LCI v2.0.0-dev
For Asynchronous Multithreaded Communication
Loading...
Searching...
No Matches
lci_binding_pre.hpp
Go to the documentation of this file.
1
2// Copyright (c) 2025 The LCI Project Authors
3// SPDX-License-Identifier: MIT
4
5// clang-format off
6// This file is generated by generate_binding.py
7#ifndef LCI_BINDING_PRE_HPP_
8#define LCI_BINDING_PRE_HPP_
9
10namespace lci {
11class comp_t;
12struct comp_attr_t;
13class net_context_t;
15class device_t;
16struct device_attr_t;
17class mr_t;
18struct mr_attr_t;
19class endpoint_t;
20struct endpoint_attr_t;
21class runtime_t;
22struct runtime_attr_t;
23class packet_pool_t;
27
34
39
45
52
58
61};
62
67
98
107
108class comp_impl_t;
109
123
128class comp_t {
129 public:
131 // attribute getter
133 int get_attr_sync_threshold() const;
134 bool get_attr_zero_copy_am() const;
136 int get_attr_cq_default_length() const;
137 void* get_attr_user_context() const;
138 attr_t get_attr() const;
139 comp_impl_t* p_impl = nullptr;
140
141 comp_t() = default;
142 comp_t(void* p) : p_impl(static_cast<comp_impl_t*>(p)) {}
143 inline bool is_empty() const;
144 inline comp_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("comp p_impl is nullptr!"); return p_impl; }
145 inline void set_impl(comp_impl_t* p) { p_impl = p; }
146 bool operator==(const comp_t& other) const { return p_impl == other.p_impl; }
147};
148
160
161class net_context_impl_t;
162
179
185 public:
187 // attribute getter
189 std::string get_attr_ofi_provider_name() const;
190 size_t get_attr_max_msg_size() const;
191 size_t get_attr_max_inject_size() const;
192 int get_attr_ibv_gid_idx() const;
196 void* get_attr_user_context() const;
197 attr_t get_attr() const;
198 net_context_impl_t* p_impl = nullptr;
199
200 net_context_t() = default;
201 net_context_t(void* p) : p_impl(static_cast<net_context_impl_t*>(p)) {}
202 inline bool is_empty() const { return p_impl == nullptr; }
203 inline net_context_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("net_context p_impl is nullptr!"); return p_impl; }
204 inline void set_impl(net_context_impl_t* p) { p_impl = p; }
205 bool operator==(const net_context_t& other) const { return p_impl == other.p_impl; }
206};
207
218
219class device_impl_t;
220
236
241class device_t {
242 public:
244 // attribute getter
245 size_t get_attr_net_max_sends() const;
246 size_t get_attr_net_max_recvs() const;
247 size_t get_attr_net_max_cqes() const;
248 uint64_t get_attr_ofi_lock_mode() const;
250 int get_attr_uid() const;
252 void* get_attr_user_context() const;
253 attr_t get_attr() const;
254 device_impl_t* p_impl = nullptr;
255
256 device_t() = default;
257 device_t(void* p) : p_impl(static_cast<device_impl_t*>(p)) {}
258 inline bool is_empty() const { return p_impl == nullptr; }
259 inline device_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("device p_impl is nullptr!"); return p_impl; }
260 inline void set_impl(device_impl_t* p) { p_impl = p; }
261 bool operator==(const device_t& other) const { return p_impl == other.p_impl; }
262};
263
264struct mr_attr_t {
266};
267
268class mr_impl_t;
269
278
283class mr_t {
284 public:
286 // attribute getter
287 void* get_attr_user_context() const;
288 attr_t get_attr() const;
289 mr_impl_t* p_impl = nullptr;
290
291 mr_t() = default;
292 mr_t(void* p) : p_impl(static_cast<mr_impl_t*>(p)) {}
293 inline bool is_empty() const;
294 inline mr_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("mr p_impl is nullptr!"); return p_impl; }
295 inline void set_impl(mr_impl_t* p) { p_impl = p; }
296 bool operator==(const mr_t& other) const { return p_impl == other.p_impl; }
297};
298
300 int uid;
302};
303
304class endpoint_impl_t;
305
315
321 public:
323 // attribute getter
324 int get_attr_uid() const;
325 void* get_attr_user_context() const;
326 attr_t get_attr() const;
327 endpoint_impl_t* p_impl = nullptr;
328
329 endpoint_t() = default;
330 endpoint_t(void* p) : p_impl(static_cast<endpoint_impl_t*>(p)) {}
331 inline bool is_empty() const { return p_impl == nullptr; }
332 inline endpoint_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("endpoint p_impl is nullptr!"); return p_impl; }
333 inline void set_impl(endpoint_impl_t* p) { p_impl = p; }
334 bool operator==(const endpoint_t& other) const { return p_impl == other.p_impl; }
335};
336
351
352class runtime_impl_t;
353
373
379 public:
381 // attribute getter
383 int get_attr_imm_nbits_tag() const;
384 int get_attr_imm_nbits_rcomp() const;
385 uint64_t get_attr_max_imm_tag() const;
386 uint64_t get_attr_max_imm_rcomp() const;
387 uint64_t get_attr_max_tag() const;
388 uint64_t get_attr_max_rcomp() const;
393 void* get_attr_user_context() const;
394 attr_t get_attr() const;
395 runtime_impl_t* p_impl = nullptr;
396
397 runtime_t() = default;
398 runtime_t(void* p) : p_impl(static_cast<runtime_impl_t*>(p)) {}
399 inline bool is_empty() const { return p_impl == nullptr; }
400 inline runtime_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("runtime p_impl is nullptr!"); return p_impl; }
401 inline void set_impl(runtime_impl_t* p) { p_impl = p; }
402 bool operator==(const runtime_t& other) const { return p_impl == other.p_impl; }
403};
404
410
411class packet_pool_impl_t;
412
423
429 public:
431 // attribute getter
432 size_t get_attr_packet_size() const;
433 size_t get_attr_npackets() const;
434 void* get_attr_user_context() const;
435 attr_t get_attr() const;
436 packet_pool_impl_t* p_impl = nullptr;
437
438 packet_pool_t() = default;
439 packet_pool_t(void* p) : p_impl(static_cast<packet_pool_impl_t*>(p)) {}
440 inline bool is_empty() const { return p_impl == nullptr; }
441 inline packet_pool_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("packet_pool p_impl is nullptr!"); return p_impl; }
442 inline void set_impl(packet_pool_impl_t* p) { p_impl = p; }
443 bool operator==(const packet_pool_t& other) const { return p_impl == other.p_impl; }
444};
445
450
451class matching_engine_impl_t;
452
462
468 public:
470 // attribute getter
472 void* get_attr_user_context() const;
473 attr_t get_attr() const;
474 matching_engine_impl_t* p_impl = nullptr;
475
476 matching_engine_t() = default;
477 matching_engine_t(void* p) : p_impl(static_cast<matching_engine_impl_t*>(p)) {}
478 inline bool is_empty() const { return p_impl == nullptr; }
479 inline matching_engine_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("matching_engine p_impl is nullptr!"); return p_impl; }
480 inline void set_impl(matching_engine_impl_t* p) { p_impl = p; }
481 bool operator==(const matching_engine_t& other) const { return p_impl == other.p_impl; }
482};
483
484
485} // namespace lci
486
487#endif // LCI_BINDING_PRE_HPP_
Completion object implementation base type.
Definition lci.hpp:673
The actual implementation for RESOURCE comp.
Definition lci_binding_pre.hpp:128
void set_impl(comp_impl_t *p)
Definition lci_binding_pre.hpp:145
attr_comp_type_t get_attr_comp_type() const
Definition binding.cpp:167
bool get_attr_zero_copy_am() const
Definition binding.cpp:169
int get_attr_sync_threshold() const
Definition binding.cpp:168
comp_t()=default
bool operator==(const comp_t &other) const
Definition lci_binding_pre.hpp:146
attr_cq_type_t get_attr_cq_type() const
Definition binding.cpp:170
comp_t(void *p)
Definition lci_binding_pre.hpp:142
attr_t get_attr() const
Definition binding.cpp:174
bool is_empty() const
Definition lci.hpp:661
comp_impl_t * p_impl
Definition lci_binding_pre.hpp:139
int get_attr_cq_default_length() const
Definition binding.cpp:171
void * get_attr_user_context() const
Definition binding.cpp:172
comp_attr_t attr_t
Definition lci_binding_pre.hpp:130
comp_impl_t * get_impl() const
Definition lci_binding_pre.hpp:144
The actual implementation for RESOURCE device.
Definition lci_binding_pre.hpp:241
device_attr_t attr_t
Definition lci_binding_pre.hpp:243
device_impl_t * get_impl() const
Definition lci_binding_pre.hpp:259
void * get_attr_user_context() const
Definition binding.cpp:336
int get_attr_uid() const
Definition binding.cpp:334
attr_ibv_td_strategy_t get_attr_ibv_td_strategy() const
Definition binding.cpp:335
size_t get_attr_net_max_cqes() const
Definition binding.cpp:331
uint64_t get_attr_ofi_lock_mode() const
Definition binding.cpp:332
void set_impl(device_impl_t *p)
Definition lci_binding_pre.hpp:260
attr_t get_attr() const
Definition binding.cpp:338
device_t()=default
device_t(void *p)
Definition lci_binding_pre.hpp:257
size_t get_attr_net_max_sends() const
Definition binding.cpp:329
bool is_empty() const
Definition lci_binding_pre.hpp:258
size_t get_attr_net_max_recvs() const
Definition binding.cpp:330
bool operator==(const device_t &other) const
Definition lci_binding_pre.hpp:261
device_impl_t * p_impl
Definition lci_binding_pre.hpp:254
bool get_attr_alloc_default_endpoint() const
Definition binding.cpp:333
The actual implementation for RESOURCE endpoint.
Definition lci_binding_pre.hpp:320
endpoint_impl_t * p_impl
Definition lci_binding_pre.hpp:327
bool is_empty() const
Definition lci_binding_pre.hpp:331
void set_impl(endpoint_impl_t *p)
Definition lci_binding_pre.hpp:333
attr_t get_attr() const
Definition binding.cpp:385
endpoint_t()=default
bool operator==(const endpoint_t &other) const
Definition lci_binding_pre.hpp:334
endpoint_t(void *p)
Definition lci_binding_pre.hpp:330
endpoint_impl_t * get_impl() const
Definition lci_binding_pre.hpp:332
int get_attr_uid() const
Definition binding.cpp:382
void * get_attr_user_context() const
Definition binding.cpp:383
endpoint_attr_t attr_t
Definition lci_binding_pre.hpp:322
The actual implementation for RESOURCE matching_engine.
Definition lci_binding_pre.hpp:467
matching_engine_impl_t * get_impl() const
Definition lci_binding_pre.hpp:479
matching_engine_attr_t attr_t
Definition lci_binding_pre.hpp:469
void set_impl(matching_engine_impl_t *p)
Definition lci_binding_pre.hpp:480
void * get_attr_user_context() const
Definition binding.cpp:768
matching_engine_impl_t * p_impl
Definition lci_binding_pre.hpp:474
attr_t get_attr() const
Definition binding.cpp:770
bool is_empty() const
Definition lci_binding_pre.hpp:478
attr_matching_engine_type_t get_attr_matching_engine_type() const
Definition binding.cpp:767
bool operator==(const matching_engine_t &other) const
Definition lci_binding_pre.hpp:481
matching_engine_t(void *p)
Definition lci_binding_pre.hpp:477
The actual implementation for RESOURCE mr.
Definition lci_binding_pre.hpp:283
void * get_attr_user_context() const
Definition binding.cpp:359
bool operator==(const mr_t &other) const
Definition lci_binding_pre.hpp:296
attr_t get_attr() const
Definition binding.cpp:361
mr_attr_t attr_t
Definition lci_binding_pre.hpp:285
void set_impl(mr_impl_t *p)
Definition lci_binding_pre.hpp:295
mr_t(void *p)
Definition lci_binding_pre.hpp:292
mr_impl_t * p_impl
Definition lci_binding_pre.hpp:289
mr_t()=default
bool is_empty() const
Definition lci.hpp:319
mr_impl_t * get_impl() const
Definition lci_binding_pre.hpp:294
The actual implementation for RESOURCE net_context.
Definition lci_binding_pre.hpp:184
void * get_attr_user_context() const
Definition binding.cpp:306
attr_backend_t get_attr_backend() const
Definition binding.cpp:298
attr_t get_attr() const
Definition binding.cpp:308
int get_attr_ibv_gid_idx() const
Definition binding.cpp:302
attr_ibv_prefetch_strategy_t get_attr_ibv_prefetch_strategy() const
Definition binding.cpp:305
net_context_impl_t * p_impl
Definition lci_binding_pre.hpp:198
bool operator==(const net_context_t &other) const
Definition lci_binding_pre.hpp:205
bool get_attr_ibv_force_gid_auto_select() const
Definition binding.cpp:303
net_context_impl_t * get_impl() const
Definition lci_binding_pre.hpp:203
size_t get_attr_max_msg_size() const
Definition binding.cpp:300
net_context_attr_t attr_t
Definition lci_binding_pre.hpp:186
std::string get_attr_ofi_provider_name() const
Definition binding.cpp:299
void set_impl(net_context_impl_t *p)
Definition lci_binding_pre.hpp:204
attr_ibv_odp_strategy_t get_attr_ibv_odp_strategy() const
Definition binding.cpp:304
net_context_t()=default
size_t get_attr_max_inject_size() const
Definition binding.cpp:301
bool is_empty() const
Definition lci_binding_pre.hpp:202
net_context_t(void *p)
Definition lci_binding_pre.hpp:201
The actual implementation for RESOURCE packet_pool.
Definition lci_binding_pre.hpp:428
packet_pool_impl_t * p_impl
Definition lci_binding_pre.hpp:436
bool operator==(const packet_pool_t &other) const
Definition lci_binding_pre.hpp:443
size_t get_attr_npackets() const
Definition binding.cpp:723
void * get_attr_user_context() const
Definition binding.cpp:724
packet_pool_t()=default
packet_pool_t(void *p)
Definition lci_binding_pre.hpp:439
void set_impl(packet_pool_impl_t *p)
Definition lci_binding_pre.hpp:442
size_t get_attr_packet_size() const
Definition binding.cpp:722
attr_t get_attr() const
Definition binding.cpp:726
packet_pool_attr_t attr_t
Definition lci_binding_pre.hpp:430
bool is_empty() const
Definition lci_binding_pre.hpp:440
packet_pool_impl_t * get_impl() const
Definition lci_binding_pre.hpp:441
The actual implementation for RESOURCE runtime.
Definition lci_binding_pre.hpp:378
int get_attr_imm_nbits_tag() const
Definition binding.cpp:669
void set_impl(runtime_impl_t *p)
Definition lci_binding_pre.hpp:401
bool get_attr_alloc_default_device() const
Definition binding.cpp:675
runtime_t()=default
bool get_attr_alloc_default_packet_pool() const
Definition binding.cpp:676
void * get_attr_user_context() const
Definition binding.cpp:679
runtime_impl_t * p_impl
Definition lci_binding_pre.hpp:395
runtime_impl_t * get_impl() const
Definition lci_binding_pre.hpp:400
bool is_empty() const
Definition lci_binding_pre.hpp:399
bool operator==(const runtime_t &other) const
Definition lci_binding_pre.hpp:402
uint64_t get_attr_max_imm_tag() const
Definition binding.cpp:671
uint64_t get_attr_max_rcomp() const
Definition binding.cpp:674
int get_attr_imm_nbits_rcomp() const
Definition binding.cpp:670
runtime_t(void *p)
Definition lci_binding_pre.hpp:398
uint64_t get_attr_max_imm_rcomp() const
Definition binding.cpp:672
attr_t get_attr() const
Definition binding.cpp:681
bool get_attr_alloc_default_matching_engine() const
Definition binding.cpp:677
size_t get_attr_packet_return_threshold() const
Definition binding.cpp:668
uint64_t get_attr_max_tag() const
Definition binding.cpp:673
attr_rdv_protocol_t get_attr_rdv_protocol() const
Definition binding.cpp:678
runtime_attr_t attr_t
Definition lci_binding_pre.hpp:380
All LCI API functions and classes are defined in this namespace.
attr_matching_engine_type_t
Definition lci_binding_pre.hpp:63
@ map
Definition lci_binding_pre.hpp:65
@ queue
Definition lci_binding_pre.hpp:64
attr_backend_t
Definition lci.hpp:63
@ none
Definition lci.hpp:64
attr_rdv_protocol_t
Definition lci_binding_pre.hpp:59
@ write
Definition lci_binding_pre.hpp:60
attr_comp_type_t
Definition lci_binding_pre.hpp:28
@ cq
Definition lci_binding_pre.hpp:30
@ sync
Definition lci_binding_pre.hpp:29
@ handler
Definition lci_binding_pre.hpp:31
@ graph
Definition lci_binding_pre.hpp:32
attr_ibv_td_strategy_t
Definition lci_binding_pre.hpp:53
@ all_qp
Definition lci_binding_pre.hpp:55
@ per_qp
Definition lci_binding_pre.hpp:56
attr_ibv_odp_strategy_t
Definition lci_binding_pre.hpp:40
@ explicit_odp
Definition lci_binding_pre.hpp:42
@ implicit_odp
Definition lci_binding_pre.hpp:43
attr_ibv_prefetch_strategy_t
Definition lci_binding_pre.hpp:46
@ prefetch
Definition lci_binding_pre.hpp:48
@ prefetch_write
Definition lci_binding_pre.hpp:49
@ prefetch_no_fault
Definition lci_binding_pre.hpp:50
attr_cq_type_t
Definition lci_binding_pre.hpp:35
@ lcrq
Definition lci_binding_pre.hpp:37
@ array_atomic
Definition lci_binding_pre.hpp:36
Definition lci_binding_pre.hpp:99
attr_comp_type_t comp_type
Definition lci_binding_pre.hpp:100
bool zero_copy_am
Definition lci_binding_pre.hpp:102
int sync_threshold
Definition lci_binding_pre.hpp:101
void * user_context
Definition lci_binding_pre.hpp:105
int cq_default_length
Definition lci_binding_pre.hpp:104
attr_cq_type_t cq_type
Definition lci_binding_pre.hpp:103
Definition lci_binding_pre.hpp:208
int uid
Definition lci_binding_pre.hpp:214
size_t net_max_sends
Definition lci_binding_pre.hpp:209
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:215
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:212
void * user_context
Definition lci_binding_pre.hpp:216
size_t net_max_recvs
Definition lci_binding_pre.hpp:210
size_t net_max_cqes
Definition lci_binding_pre.hpp:211
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:213
Definition lci_binding_pre.hpp:299
void * user_context
Definition lci_binding_pre.hpp:301
int uid
Definition lci_binding_pre.hpp:300
Definition lci_binding_pre.hpp:68
int imm_nbits_tag
Definition lci_binding_pre.hpp:88
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:85
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:89
size_t net_max_recvs
Definition lci_binding_pre.hpp:82
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:80
attr_backend_t backend
Definition lci_binding_pre.hpp:73
size_t packet_return_threshold
Definition lci_binding_pre.hpp:87
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:91
size_t max_inject_size
Definition lci_binding_pre.hpp:76
bool zero_copy_am
Definition lci_binding_pre.hpp:70
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:79
bool ibv_force_gid_auto_select
Definition lci_binding_pre.hpp:78
size_t max_msg_size
Definition lci_binding_pre.hpp:75
int ibv_gid_idx
Definition lci_binding_pre.hpp:77
std::string ofi_provider_name
Definition lci_binding_pre.hpp:74
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:92
size_t packet_size
Definition lci_binding_pre.hpp:94
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:86
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:84
size_t net_max_sends
Definition lci_binding_pre.hpp:81
int cq_default_length
Definition lci_binding_pre.hpp:72
bool alloc_default_device
Definition lci_binding_pre.hpp:90
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:96
size_t npackets
Definition lci_binding_pre.hpp:95
int sync_threshold
Definition lci_binding_pre.hpp:69
size_t net_max_cqes
Definition lci_binding_pre.hpp:83
attr_rdv_protocol_t rdv_protocol
Definition lci_binding_pre.hpp:93
attr_cq_type_t cq_type
Definition lci_binding_pre.hpp:71
Definition lci_binding_pre.hpp:446
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:447
void * user_context
Definition lci_binding_pre.hpp:448
Definition lci_binding_pre.hpp:264
void * user_context
Definition lci_binding_pre.hpp:265
Definition lci_binding_pre.hpp:149
size_t max_msg_size
Definition lci_binding_pre.hpp:152
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:156
attr_backend_t backend
Definition lci_binding_pre.hpp:150
int ibv_gid_idx
Definition lci_binding_pre.hpp:154
std::string ofi_provider_name
Definition lci_binding_pre.hpp:151
void * user_context
Definition lci_binding_pre.hpp:158
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:157
bool ibv_force_gid_auto_select
Definition lci_binding_pre.hpp:155
size_t max_inject_size
Definition lci_binding_pre.hpp:153
Definition lci_binding_pre.hpp:405
void * user_context
Definition lci_binding_pre.hpp:408
size_t npackets
Definition lci_binding_pre.hpp:407
size_t packet_size
Definition lci_binding_pre.hpp:406
Definition lci_binding_pre.hpp:337
uint64_t max_imm_rcomp
Definition lci_binding_pre.hpp:342
uint64_t max_rcomp
Definition lci_binding_pre.hpp:344
size_t packet_return_threshold
Definition lci_binding_pre.hpp:338
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:346
bool alloc_default_device
Definition lci_binding_pre.hpp:345
void * user_context
Definition lci_binding_pre.hpp:349
attr_rdv_protocol_t rdv_protocol
Definition lci_binding_pre.hpp:348
int imm_nbits_tag
Definition lci_binding_pre.hpp:339
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:347
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:340
uint64_t max_tag
Definition lci_binding_pre.hpp:343
uint64_t max_imm_tag
Definition lci_binding_pre.hpp:341