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: NCSA
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 net_context_t;
13class device_t;
14struct device_attr_t;
15class mr_t;
16struct mr_attr_t;
17class endpoint_t;
18struct endpoint_attr_t;
19class runtime_t;
20struct runtime_attr_t;
21class packet_pool_t;
25class comp_t;
26struct comp_attr_t;
27
33
40
46
51
60
65
95
108
109class net_context_impl_t;
110
128
134 public:
136 // attribute getter
138 std::string get_attr_ofi_provider_name() const;
139 size_t get_attr_max_msg_size() const;
140 size_t get_attr_max_inject_size() const;
141 int get_attr_ibv_gid_idx() const;
145 bool get_attr_support_putimm() const;
146 void* get_attr_user_context() const;
147 attr_t get_attr() const;
148 net_context_impl_t* p_impl = nullptr;
149
150 net_context_t() = default;
151 net_context_t(void* p) : p_impl(static_cast<net_context_impl_t*>(p)) {}
152 inline bool is_empty() const { return p_impl == nullptr; }
153 inline net_context_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("net_context p_impl is nullptr!"); return p_impl; }
154 inline void set_impl(net_context_impl_t* p) { p_impl = p; }
155 bool operator==(const net_context_t& other) const { return p_impl == other.p_impl; }
156};
157
168
169class device_impl_t;
170
186
191class device_t {
192 public:
194 // attribute getter
195 size_t get_attr_net_max_sends() const;
196 size_t get_attr_net_max_recvs() const;
197 size_t get_attr_net_max_cqes() const;
198 uint64_t get_attr_ofi_lock_mode() const;
200 int get_attr_uid() const;
202 void* get_attr_user_context() const;
203 attr_t get_attr() const;
204 device_impl_t* p_impl = nullptr;
205
206 device_t() = default;
207 device_t(void* p) : p_impl(static_cast<device_impl_t*>(p)) {}
208 inline bool is_empty() const { return p_impl == nullptr; }
209 inline device_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("device p_impl is nullptr!"); return p_impl; }
210 inline void set_impl(device_impl_t* p) { p_impl = p; }
211 bool operator==(const device_t& other) const { return p_impl == other.p_impl; }
212};
213
214struct mr_attr_t {
216};
217
218class mr_impl_t;
219
228
233class mr_t {
234 public:
236 // attribute getter
237 void* get_attr_user_context() const;
238 attr_t get_attr() const;
239 mr_impl_t* p_impl = nullptr;
240
241 mr_t() = default;
242 mr_t(void* p) : p_impl(static_cast<mr_impl_t*>(p)) {}
243 inline bool is_empty() const;
244 inline mr_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("mr p_impl is nullptr!"); return p_impl; }
245 inline void set_impl(mr_impl_t* p) { p_impl = p; }
246 bool operator==(const mr_t& other) const { return p_impl == other.p_impl; }
247};
248
250 int uid;
252};
253
254class endpoint_impl_t;
255
265
271 public:
273 // attribute getter
274 int get_attr_uid() const;
275 void* get_attr_user_context() const;
276 attr_t get_attr() const;
277 endpoint_impl_t* p_impl = nullptr;
278
279 endpoint_t() = default;
280 endpoint_t(void* p) : p_impl(static_cast<endpoint_impl_t*>(p)) {}
281 inline bool is_empty() const { return p_impl == nullptr; }
282 inline endpoint_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("endpoint p_impl is nullptr!"); return p_impl; }
283 inline void set_impl(endpoint_impl_t* p) { p_impl = p; }
284 bool operator==(const endpoint_t& other) const { return p_impl == other.p_impl; }
285};
286
300
301class runtime_impl_t;
302
321
327 public:
329 // attribute getter
331 int get_attr_imm_nbits_tag() const;
332 int get_attr_imm_nbits_rcomp() const;
333 uint64_t get_attr_max_imm_tag() const;
334 uint64_t get_attr_max_imm_rcomp() const;
335 uint64_t get_attr_max_tag() const;
336 uint64_t get_attr_max_rcomp() const;
340 void* get_attr_user_context() const;
341 attr_t get_attr() const;
342 runtime_impl_t* p_impl = nullptr;
343
344 runtime_t() = default;
345 runtime_t(void* p) : p_impl(static_cast<runtime_impl_t*>(p)) {}
346 inline bool is_empty() const { return p_impl == nullptr; }
347 inline runtime_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("runtime p_impl is nullptr!"); return p_impl; }
348 inline void set_impl(runtime_impl_t* p) { p_impl = p; }
349 bool operator==(const runtime_t& other) const { return p_impl == other.p_impl; }
350};
351
357
358class packet_pool_impl_t;
359
370
376 public:
378 // attribute getter
379 size_t get_attr_packet_size() const;
380 size_t get_attr_npackets() const;
381 void* get_attr_user_context() const;
382 attr_t get_attr() const;
383 packet_pool_impl_t* p_impl = nullptr;
384
385 packet_pool_t() = default;
386 packet_pool_t(void* p) : p_impl(static_cast<packet_pool_impl_t*>(p)) {}
387 inline bool is_empty() const { return p_impl == nullptr; }
388 inline packet_pool_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("packet_pool p_impl is nullptr!"); return p_impl; }
389 inline void set_impl(packet_pool_impl_t* p) { p_impl = p; }
390 bool operator==(const packet_pool_t& other) const { return p_impl == other.p_impl; }
391};
392
397
398class matching_engine_impl_t;
399
409
415 public:
417 // attribute getter
419 void* get_attr_user_context() const;
420 attr_t get_attr() const;
421 matching_engine_impl_t* p_impl = nullptr;
422
423 matching_engine_t() = default;
424 matching_engine_t(void* p) : p_impl(static_cast<matching_engine_impl_t*>(p)) {}
425 inline bool is_empty() const { return p_impl == nullptr; }
426 inline matching_engine_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("matching_engine p_impl is nullptr!"); return p_impl; }
427 inline void set_impl(matching_engine_impl_t* p) { p_impl = p; }
428 bool operator==(const matching_engine_t& other) const { return p_impl == other.p_impl; }
429};
430
439
440class comp_impl_t;
441
455
460class comp_t {
461 public:
463 // attribute getter
465 int get_attr_sync_threshold() const;
466 bool get_attr_zero_copy_am() const;
468 int get_attr_cq_default_length() const;
469 void* get_attr_user_context() const;
470 attr_t get_attr() const;
471 comp_impl_t* p_impl = nullptr;
472
473 comp_t() = default;
474 comp_t(void* p) : p_impl(static_cast<comp_impl_t*>(p)) {}
475 inline bool is_empty() const;
476 inline comp_impl_t *get_impl() const { if (!p_impl) throw std::runtime_error("comp p_impl is nullptr!"); return p_impl; }
477 inline void set_impl(comp_impl_t* p) { p_impl = p; }
478 bool operator==(const comp_t& other) const { return p_impl == other.p_impl; }
479};
480
481
482} // namespace lci
483
484#endif // LCI_BINDING_PRE_HPP_
Completion object implementation base type.
Definition lci.hpp:509
The actual implementation for RESOURCE comp.
Definition lci_binding_pre.hpp:460
void set_impl(comp_impl_t *p)
Definition lci_binding_pre.hpp:477
attr_comp_type_t get_attr_comp_type() const
Definition binding.cpp:535
bool get_attr_zero_copy_am() const
Definition binding.cpp:537
int get_attr_sync_threshold() const
Definition binding.cpp:536
comp_t()=default
bool operator==(const comp_t &other) const
Definition lci_binding_pre.hpp:478
attr_cq_type_t get_attr_cq_type() const
Definition binding.cpp:538
comp_t(void *p)
Definition lci_binding_pre.hpp:474
attr_t get_attr() const
Definition binding.cpp:542
bool is_empty() const
Definition lci.hpp:497
comp_impl_t * p_impl
Definition lci_binding_pre.hpp:471
int get_attr_cq_default_length() const
Definition binding.cpp:539
void * get_attr_user_context() const
Definition binding.cpp:540
comp_attr_t attr_t
Definition lci_binding_pre.hpp:462
comp_impl_t * get_impl() const
Definition lci_binding_pre.hpp:476
The actual implementation for RESOURCE device.
Definition lci_binding_pre.hpp:191
device_attr_t attr_t
Definition lci_binding_pre.hpp:193
device_impl_t * get_impl() const
Definition lci_binding_pre.hpp:209
void * get_attr_user_context() const
Definition binding.cpp:189
int get_attr_uid() const
Definition binding.cpp:187
attr_ibv_td_strategy_t get_attr_ibv_td_strategy() const
Definition binding.cpp:188
size_t get_attr_net_max_cqes() const
Definition binding.cpp:184
uint64_t get_attr_ofi_lock_mode() const
Definition binding.cpp:185
void set_impl(device_impl_t *p)
Definition lci_binding_pre.hpp:210
attr_t get_attr() const
Definition binding.cpp:191
device_t()=default
device_t(void *p)
Definition lci_binding_pre.hpp:207
size_t get_attr_net_max_sends() const
Definition binding.cpp:182
bool is_empty() const
Definition lci_binding_pre.hpp:208
size_t get_attr_net_max_recvs() const
Definition binding.cpp:183
bool operator==(const device_t &other) const
Definition lci_binding_pre.hpp:211
device_impl_t * p_impl
Definition lci_binding_pre.hpp:204
bool get_attr_alloc_default_endpoint() const
Definition binding.cpp:186
The actual implementation for RESOURCE endpoint.
Definition lci_binding_pre.hpp:270
endpoint_impl_t * p_impl
Definition lci_binding_pre.hpp:277
bool is_empty() const
Definition lci_binding_pre.hpp:281
void set_impl(endpoint_impl_t *p)
Definition lci_binding_pre.hpp:283
attr_t get_attr() const
Definition binding.cpp:238
endpoint_t()=default
bool operator==(const endpoint_t &other) const
Definition lci_binding_pre.hpp:284
endpoint_t(void *p)
Definition lci_binding_pre.hpp:280
endpoint_impl_t * get_impl() const
Definition lci_binding_pre.hpp:282
int get_attr_uid() const
Definition binding.cpp:235
void * get_attr_user_context() const
Definition binding.cpp:236
endpoint_attr_t attr_t
Definition lci_binding_pre.hpp:272
The actual implementation for RESOURCE matching_engine.
Definition lci_binding_pre.hpp:414
matching_engine_impl_t * get_impl() const
Definition lci_binding_pre.hpp:426
matching_engine_attr_t attr_t
Definition lci_binding_pre.hpp:416
void set_impl(matching_engine_impl_t *p)
Definition lci_binding_pre.hpp:427
void * get_attr_user_context() const
Definition binding.cpp:467
matching_engine_impl_t * p_impl
Definition lci_binding_pre.hpp:421
attr_t get_attr() const
Definition binding.cpp:469
bool is_empty() const
Definition lci_binding_pre.hpp:425
attr_matching_engine_type_t get_attr_matching_engine_type() const
Definition binding.cpp:466
bool operator==(const matching_engine_t &other) const
Definition lci_binding_pre.hpp:428
matching_engine_t(void *p)
Definition lci_binding_pre.hpp:424
The actual implementation for RESOURCE mr.
Definition lci_binding_pre.hpp:233
void * get_attr_user_context() const
Definition binding.cpp:212
bool operator==(const mr_t &other) const
Definition lci_binding_pre.hpp:246
attr_t get_attr() const
Definition binding.cpp:214
mr_attr_t attr_t
Definition lci_binding_pre.hpp:235
void set_impl(mr_impl_t *p)
Definition lci_binding_pre.hpp:245
mr_t(void *p)
Definition lci_binding_pre.hpp:242
mr_impl_t * p_impl
Definition lci_binding_pre.hpp:239
mr_t()=default
bool is_empty() const
Definition lci.hpp:319
mr_impl_t * get_impl() const
Definition lci_binding_pre.hpp:244
The actual implementation for RESOURCE net_context.
Definition lci_binding_pre.hpp:133
void * get_attr_user_context() const
Definition binding.cpp:159
attr_backend_t get_attr_backend() const
Definition binding.cpp:150
attr_t get_attr() const
Definition binding.cpp:161
int get_attr_ibv_gid_idx() const
Definition binding.cpp:154
attr_ibv_prefetch_strategy_t get_attr_ibv_prefetch_strategy() const
Definition binding.cpp:157
net_context_impl_t * p_impl
Definition lci_binding_pre.hpp:148
bool operator==(const net_context_t &other) const
Definition lci_binding_pre.hpp:155
bool get_attr_ibv_force_gid_auto_select() const
Definition binding.cpp:155
net_context_impl_t * get_impl() const
Definition lci_binding_pre.hpp:153
bool get_attr_support_putimm() const
Definition binding.cpp:158
size_t get_attr_max_msg_size() const
Definition binding.cpp:152
net_context_attr_t attr_t
Definition lci_binding_pre.hpp:135
std::string get_attr_ofi_provider_name() const
Definition binding.cpp:151
void set_impl(net_context_impl_t *p)
Definition lci_binding_pre.hpp:154
attr_ibv_odp_strategy_t get_attr_ibv_odp_strategy() const
Definition binding.cpp:156
net_context_t()=default
size_t get_attr_max_inject_size() const
Definition binding.cpp:153
bool is_empty() const
Definition lci_binding_pre.hpp:152
net_context_t(void *p)
Definition lci_binding_pre.hpp:151
The actual implementation for RESOURCE packet_pool.
Definition lci_binding_pre.hpp:375
packet_pool_impl_t * p_impl
Definition lci_binding_pre.hpp:383
bool operator==(const packet_pool_t &other) const
Definition lci_binding_pre.hpp:390
size_t get_attr_npackets() const
Definition binding.cpp:422
void * get_attr_user_context() const
Definition binding.cpp:423
packet_pool_t()=default
packet_pool_t(void *p)
Definition lci_binding_pre.hpp:386
void set_impl(packet_pool_impl_t *p)
Definition lci_binding_pre.hpp:389
size_t get_attr_packet_size() const
Definition binding.cpp:421
attr_t get_attr() const
Definition binding.cpp:425
packet_pool_attr_t attr_t
Definition lci_binding_pre.hpp:377
bool is_empty() const
Definition lci_binding_pre.hpp:387
packet_pool_impl_t * get_impl() const
Definition lci_binding_pre.hpp:388
The actual implementation for RESOURCE runtime.
Definition lci_binding_pre.hpp:326
int get_attr_imm_nbits_tag() const
Definition binding.cpp:371
void set_impl(runtime_impl_t *p)
Definition lci_binding_pre.hpp:348
bool get_attr_alloc_default_device() const
Definition binding.cpp:377
runtime_t()=default
bool get_attr_alloc_default_packet_pool() const
Definition binding.cpp:378
void * get_attr_user_context() const
Definition binding.cpp:380
runtime_impl_t * p_impl
Definition lci_binding_pre.hpp:342
runtime_impl_t * get_impl() const
Definition lci_binding_pre.hpp:347
bool is_empty() const
Definition lci_binding_pre.hpp:346
bool operator==(const runtime_t &other) const
Definition lci_binding_pre.hpp:349
uint64_t get_attr_max_imm_tag() const
Definition binding.cpp:373
uint64_t get_attr_max_rcomp() const
Definition binding.cpp:376
int get_attr_imm_nbits_rcomp() const
Definition binding.cpp:372
runtime_t(void *p)
Definition lci_binding_pre.hpp:345
uint64_t get_attr_max_imm_rcomp() const
Definition binding.cpp:374
attr_t get_attr() const
Definition binding.cpp:382
bool get_attr_alloc_default_matching_engine() const
Definition binding.cpp:379
size_t get_attr_packet_return_threshold() const
Definition binding.cpp:370
uint64_t get_attr_max_tag() const
Definition binding.cpp:375
runtime_attr_t attr_t
Definition lci_binding_pre.hpp:328
All LCI API functions and classes are defined in this namespace.
attr_matching_engine_type_t
Definition lci_binding_pre.hpp:47
@ map
Definition lci_binding_pre.hpp:49
@ queue
Definition lci_binding_pre.hpp:48
attr_backend_t
Definition lci.hpp:63
@ none
Definition lci.hpp:64
attr_comp_type_t
Definition lci_binding_pre.hpp:52
@ cq
Definition lci_binding_pre.hpp:55
@ sync
Definition lci_binding_pre.hpp:53
@ counter
Definition lci_binding_pre.hpp:54
@ custom
Definition lci_binding_pre.hpp:58
@ handler
Definition lci_binding_pre.hpp:56
@ graph
Definition lci_binding_pre.hpp:57
attr_ibv_td_strategy_t
Definition lci_binding_pre.hpp:41
@ all_qp
Definition lci_binding_pre.hpp:43
@ per_qp
Definition lci_binding_pre.hpp:44
attr_ibv_odp_strategy_t
Definition lci_binding_pre.hpp:28
@ explicit_odp
Definition lci_binding_pre.hpp:30
@ implicit_odp
Definition lci_binding_pre.hpp:31
attr_ibv_prefetch_strategy_t
Definition lci_binding_pre.hpp:34
@ prefetch
Definition lci_binding_pre.hpp:36
@ prefetch_write
Definition lci_binding_pre.hpp:37
@ prefetch_no_fault
Definition lci_binding_pre.hpp:38
attr_cq_type_t
Definition lci_binding_pre.hpp:61
@ lcrq
Definition lci_binding_pre.hpp:63
@ array_atomic
Definition lci_binding_pre.hpp:62
Definition lci_binding_pre.hpp:431
attr_comp_type_t comp_type
Definition lci_binding_pre.hpp:432
bool zero_copy_am
Definition lci_binding_pre.hpp:434
int sync_threshold
Definition lci_binding_pre.hpp:433
void * user_context
Definition lci_binding_pre.hpp:437
int cq_default_length
Definition lci_binding_pre.hpp:436
attr_cq_type_t cq_type
Definition lci_binding_pre.hpp:435
Definition lci_binding_pre.hpp:158
int uid
Definition lci_binding_pre.hpp:164
size_t net_max_sends
Definition lci_binding_pre.hpp:159
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:165
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:162
void * user_context
Definition lci_binding_pre.hpp:166
size_t net_max_recvs
Definition lci_binding_pre.hpp:160
size_t net_max_cqes
Definition lci_binding_pre.hpp:161
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:163
Definition lci_binding_pre.hpp:249
void * user_context
Definition lci_binding_pre.hpp:251
int uid
Definition lci_binding_pre.hpp:250
Definition lci_binding_pre.hpp:66
int imm_nbits_tag
Definition lci_binding_pre.hpp:82
bool alloc_default_endpoint
Definition lci_binding_pre.hpp:79
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:83
size_t net_max_recvs
Definition lci_binding_pre.hpp:76
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:74
attr_backend_t backend
Definition lci_binding_pre.hpp:67
size_t packet_return_threshold
Definition lci_binding_pre.hpp:81
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:85
size_t max_inject_size
Definition lci_binding_pre.hpp:70
bool zero_copy_am
Definition lci_binding_pre.hpp:91
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:73
bool ibv_force_gid_auto_select
Definition lci_binding_pre.hpp:72
size_t max_msg_size
Definition lci_binding_pre.hpp:69
int ibv_gid_idx
Definition lci_binding_pre.hpp:71
std::string ofi_provider_name
Definition lci_binding_pre.hpp:68
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:86
size_t packet_size
Definition lci_binding_pre.hpp:87
attr_ibv_td_strategy_t ibv_td_strategy
Definition lci_binding_pre.hpp:80
uint64_t ofi_lock_mode
Definition lci_binding_pre.hpp:78
size_t net_max_sends
Definition lci_binding_pre.hpp:75
int cq_default_length
Definition lci_binding_pre.hpp:93
bool alloc_default_device
Definition lci_binding_pre.hpp:84
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:89
size_t npackets
Definition lci_binding_pre.hpp:88
int sync_threshold
Definition lci_binding_pre.hpp:90
size_t net_max_cqes
Definition lci_binding_pre.hpp:77
attr_cq_type_t cq_type
Definition lci_binding_pre.hpp:92
Definition lci_binding_pre.hpp:393
attr_matching_engine_type_t matching_engine_type
Definition lci_binding_pre.hpp:394
void * user_context
Definition lci_binding_pre.hpp:395
Definition lci_binding_pre.hpp:214
void * user_context
Definition lci_binding_pre.hpp:215
Definition lci_binding_pre.hpp:96
bool support_putimm
Definition lci_binding_pre.hpp:105
size_t max_msg_size
Definition lci_binding_pre.hpp:99
attr_ibv_odp_strategy_t ibv_odp_strategy
Definition lci_binding_pre.hpp:103
attr_backend_t backend
Definition lci_binding_pre.hpp:97
int ibv_gid_idx
Definition lci_binding_pre.hpp:101
std::string ofi_provider_name
Definition lci_binding_pre.hpp:98
void * user_context
Definition lci_binding_pre.hpp:106
attr_ibv_prefetch_strategy_t ibv_prefetch_strategy
Definition lci_binding_pre.hpp:104
bool ibv_force_gid_auto_select
Definition lci_binding_pre.hpp:102
size_t max_inject_size
Definition lci_binding_pre.hpp:100
Definition lci_binding_pre.hpp:352
void * user_context
Definition lci_binding_pre.hpp:355
size_t npackets
Definition lci_binding_pre.hpp:354
size_t packet_size
Definition lci_binding_pre.hpp:353
Definition lci_binding_pre.hpp:287
uint64_t max_imm_rcomp
Definition lci_binding_pre.hpp:292
uint64_t max_rcomp
Definition lci_binding_pre.hpp:294
size_t packet_return_threshold
Definition lci_binding_pre.hpp:288
bool alloc_default_packet_pool
Definition lci_binding_pre.hpp:296
bool alloc_default_device
Definition lci_binding_pre.hpp:295
void * user_context
Definition lci_binding_pre.hpp:298
int imm_nbits_tag
Definition lci_binding_pre.hpp:289
bool alloc_default_matching_engine
Definition lci_binding_pre.hpp:297
int imm_nbits_rcomp
Definition lci_binding_pre.hpp:290
uint64_t max_tag
Definition lci_binding_pre.hpp:293
uint64_t max_imm_tag
Definition lci_binding_pre.hpp:291