nm_core_types.h
Go to the documentation of this file.
50#define NM_IS_THREADED ((nm_core_get_thread_level(nm_core_get_singleton()) >= NM_THREAD_SERIALIZED) ? 1 : 0)
290static inline void nm_refcount_inc_internal(struct nm_refcount_s*p_refcount, const void*p_holder __attribute__((unused)),
320static inline int nm_refcount_dec(struct nm_refcount_s*p_refcount, const void*p_holder __attribute__((unused)))
352static inline void nm_refcount_init(struct nm_refcount_s*p_refcount, char*p_object_id, const void*p_init_holder)
void(* nm_injector_pull_data_t)(struct nm_req_s *p_req, const struct nm_data_s *p_data, nm_len_t chunk_offset, nm_len_t chunk_len, void *p_ref)
user-supplied function called to pull data to posted request through nmad core p_req is the user requ...
Definition nm_core_interface.h:614
without even the implied warranty of !MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU !General Public License for more details !mpif h
Definition mpif.h:19
PUK_LIST_DECLARE_TYPE2(nm_unexpected_wildcard, struct nm_unexpected_s)
PUK_VECT_TYPE(nm_core_monitor, struct nm_core_monitor_s *)
static void nm_refcount_inc_internal(struct nm_refcount_s *p_refcount, const void *p_holder __attribute__((unused)), const char *func __attribute__((unused)), const char *file __attribute__((unused)), const int line __attribute__((unused)))
Definition nm_core_types.h:290
PUK_LIST_CREATE_FUNCS(nm_req)
static void nm_refcount_init(struct nm_refcount_s *p_refcount, char *p_object_id, const void *p_init_holder)
initialize a new refcount object; get the object ID to make debugging easier; we take ownership of ob...
Definition nm_core_types.h:352
static int nm_seq_compare(nm_seq_t current, nm_seq_t seq1, nm_seq_t seq2)
compare to seq numbers, assuming they are in the future returns -1 if seq1 is before seq2,...
Definition nm_core_types.h:92
PUK_LFQUEUE_TYPE(nm_core_dispatching_event, struct nm_core_dispatching_event_s *, NULL, 1024)
static void * nm_aligned_ptr(const void *p, nm_len_t a)
get a pointer aligned to given alignment a
Definition nm_core_types.h:40
static int nm_seq_fuzzy_compare(nm_seq_t seq1, nm_seq_t seq2)
compare to seq numbers taking into account looping at overflow, assuming they are less than halftrip ...
Definition nm_core_types.h:109
static void nm_refcount_dump(struct nm_refcount_s *p_refcount __attribute__((unused)))
Definition nm_core_types.h:235
PUK_LIST_TYPE(nm_core_pending_event, struct nm_core_event_s event;struct nm_core_monitor_s *p_core_monitor;)
a pending event, not dispatched immediately because it was received out of order
static void nm_refcount_destroy(struct nm_refcount_s *p_refcount __attribute__((unused)))
Definition nm_core_types.h:247
static int nm_refcount_dec(struct nm_refcount_s *p_refcount, const void *p_holder __attribute__((unused)))
decrement refcount for holder; returns refcount (if 0, caller may free ref-counted resource)
Definition nm_core_types.h:320
static int nm_refcount_get(struct nm_refcount_s *p_refcount)
Definition nm_core_types.h:257
assert(p_data->ops.p_traversal !=NULL)
uint8_t nm_proto_t
protocol flags- not part of the public API, but needed for inline
Definition nm_types.h:105
nm_injector_pull_data_t p_pull_data
function to call to actually get data
Definition nm_core_types.h:185
an event ready for dispatch (matching already done)
Definition nm_core_types.h:155
nm_proto_t flags
proto flags associated with the chunk (NM_PROTO_FLAG_*)
Definition nm_core_types.h:178
containers for matching info, used for caching
Definition nm_core_interface.h:380
generic monitor, used for requests and for global events (with matching)
Definition nm_core_interface.h:323
a reference-counter that keeps trace of who increments/decrements in debug: full reference tracking i...
Definition nm_core_types.h:226
Definition nm_core_interface.h:1023
PUK_LIST_LINK(nm_unexpected_gate)
struct nm_pkt_wrap_s * p_pw
pw this chunk arrived from; may be NULL if data is brought by injector
Definition nm_core_types.h:197
PUK_LIST_LINK(nm_unexpected_wildcard)
nm_len_t msg_len
length of full message on last chunk, NM_LEN_UNDEFINED if not last chunk
Definition nm_core_types.h:199
PUK_LIST_LINK(nm_unexpected_tag)
int matched
flag whether the unexpected is already matched (and delayed), and thus only enqueued in gtag matching...
Definition nm_core_types.h:202