NewMadeleine

Documentation

« back to PM2 home.
Requests status and flags

Macros

#define NM_STATUS_NONE   ((nm_status_t)0x00000000)
 empty request
 
#define NM_STATUS_PACK_INIT   ((nm_status_t)0x00000001)
 request initialized, not sent yet
 
#define NM_STATUS_UNPACK_INIT   ((nm_status_t)0x00000002)
 request initialized, not sent yet
 
#define NM_STATUS_PACK_COMPLETED   ((nm_status_t)0x00000004)
 sending operation has completed
 
#define NM_STATUS_UNPACK_COMPLETED   ((nm_status_t)0x00000008)
 unpack operation has completed
 
#define NM_STATUS_UNEXPECTED   ((nm_status_t)0x00000010)
 data or rdv has arrived, with no matching unpack
 
#define NM_STATUS_UNPACK_CANCELLED   ((nm_status_t)0x00000020)
 unpack operation has been cancelled
 
#define NM_STATUS_PACK_POSTED   ((nm_status_t)0x00000040)
 sending operation is in progress
 
#define NM_STATUS_UNPACK_POSTED   ((nm_status_t)0x00000080)
 unpack operation is in progress
 
#define NM_STATUS_ACK_RECEIVED   ((nm_status_t)0x00000100)
 ack received for the given pack
 
#define NM_STATUS_UNPACK_DATA0   ((nm_status_t)0x00000200)
 first byte of data arrived, not unpacked yet- event triggered only if unpack is posted without data spec
 
#define NM_STATUS_UNPACK_DATA_SIZE   ((nm_status_t)0x00000400)
 size of data is known (last chunk of data arrived), not unpacked yet- event triggered only if unpack is posted without data spec
 
#define NM_STATUS_FINALIZED   ((nm_status_t)0x00000800)
 request is finalized, may be freed
 
#define NM_STATUS_ERROR   ((nm_status_t)0x00001000)
 request is in error; see error state in request
 
#define NM_STATUS_PACK_MSG_SIZE   ((nm_status_t)0x00002000)
 msg size already sent; used only if flag pack_partitioned is set
 
#define NM_STATUS_UNPACK_PREFETCHED   ((nm_status_t)0x00004000)
 flag unpack request as prefetched
 
#define NM_STATUS_MASK_FULL   ((nm_status_t)-1)
 mask to catch all bits of status
 
#define NM_REQ_FLAG_NONE   ((nm_req_flag_t)0x00000000)
 no flag set
 
#define NM_REQ_FLAG_PACK_SYNCHRONOUS   ((nm_req_flag_t)0x00001000)
 flag pack as synchronous (i.e.
 
#define NM_REQ_FLAG_PACK   ((nm_req_flag_t)0x00002000)
 request is a pack
 
#define NM_REQ_FLAG_UNPACK   ((nm_req_flag_t)0x00004000)
 request is an unpack
 
#define NM_REQ_FLAG_UNPACK_DATA_INFO   ((nm_req_flag_t)0x00008000)
 flag unpack request as data information present
 
#define NM_REQ_FLAG_UNPACK_MATCHING_INFO   ((nm_req_flag_t)0x00010000)
 flag unpack request as matching information present
 
#define NM_REQ_FLAG_UNPACK_PREFETCHING   ((nm_req_flag_t)0x00020000)
 flag unpack request needs prefetching
 
#define NM_REQ_FLAG_MATCHING_WILDCARD   ((nm_req_flag_t)0x00100000)
 request submited in wildcard queue
 
#define NM_REQ_FLAG_MATCHING_GATE   ((nm_req_flag_t)0x00200000)
 request matching performed by gate
 
#define NM_REQ_FLAG_MATCHING_TAG   ((nm_req_flag_t)0x00400000)
 request matching performed by tag
 
#define NM_REQ_FLAG_MATCHING_FULL   ((nm_req_flag_t)0x00800000)
 request matching by gate + tag
 
#define NM_REQ_FLAG_FINALIZE_LATER   ((nm_req_flag_t)0x01000000)
 statuses NM_STATUS_UNPACK_COMPLETED and NM_STATUS_FINALIZED will be set separately
 
#define NM_REQ_FLAG_UNPACK_PARTITIONED   ((nm_req_flag_t)0x02000000)
 unpack request is partitioned; each chunk whill be notified separately
 
#define NM_REQ_FLAG_PACK_PARTITIONED   ((nm_req_flag_t)0x04000000)
 pack request is partitioned; send a separate msg header before data chunks
 
#define NM_REQ_CHUNK_FLAG_NONE   ((nm_req_chunk_flag_t)0x00000000)
 no flag set
 
#define NM_REQ_CHUNK_FLAG_SHORT   ((nm_req_chunk_flag_t)0x00020000)
 flag req_chunk as short
 
#define NM_REQ_CHUNK_FLAG_USE_COPY   ((nm_req_chunk_flag_t)0x00080000)
 flatten data as contiguous block before send
 
#define NM_REQ_CHUNK_FLAG_DATA_ITERATOR   ((nm_req_chunk_flag_t)0x00100000)
 use iterator-based data description in pw
 

Typedefs

typedef uint32_t nm_status_t
 status bits of pack/unpack requests
 
typedef nm_status_t nm_cond_status_t
 status with synchronization (wait/signal)
 
typedef uint32_t nm_req_flag_t
 pack/unpack flags
 
typedef uint32_t nm_req_chunk_flag_t
 flags for req_chunk
 

Detailed Description

Macro Definition Documentation

◆ NM_REQ_CHUNK_FLAG_DATA_ITERATOR

#define NM_REQ_CHUNK_FLAG_DATA_ITERATOR   ((nm_req_chunk_flag_t)0x00100000)

use iterator-based data description in pw

Definition at line 239 of file nm_core_interface.h.

◆ NM_REQ_CHUNK_FLAG_NONE

#define NM_REQ_CHUNK_FLAG_NONE   ((nm_req_chunk_flag_t)0x00000000)

no flag set

Definition at line 233 of file nm_core_interface.h.

◆ NM_REQ_CHUNK_FLAG_SHORT

#define NM_REQ_CHUNK_FLAG_SHORT   ((nm_req_chunk_flag_t)0x00020000)

flag req_chunk as short

Definition at line 235 of file nm_core_interface.h.

◆ NM_REQ_CHUNK_FLAG_USE_COPY

#define NM_REQ_CHUNK_FLAG_USE_COPY   ((nm_req_chunk_flag_t)0x00080000)

flatten data as contiguous block before send

Definition at line 237 of file nm_core_interface.h.

◆ NM_REQ_FLAG_FINALIZE_LATER

#define NM_REQ_FLAG_FINALIZE_LATER   ((nm_req_flag_t)0x01000000)

statuses NM_STATUS_UNPACK_COMPLETED and NM_STATUS_FINALIZED will be set separately

Definition at line 223 of file nm_core_interface.h.

◆ NM_REQ_FLAG_MATCHING_FULL

#define NM_REQ_FLAG_MATCHING_FULL   ((nm_req_flag_t)0x00800000)

request matching by gate + tag

Definition at line 221 of file nm_core_interface.h.

◆ NM_REQ_FLAG_MATCHING_GATE

#define NM_REQ_FLAG_MATCHING_GATE   ((nm_req_flag_t)0x00200000)

request matching performed by gate

Definition at line 217 of file nm_core_interface.h.

◆ NM_REQ_FLAG_MATCHING_TAG

#define NM_REQ_FLAG_MATCHING_TAG   ((nm_req_flag_t)0x00400000)

request matching performed by tag

Definition at line 219 of file nm_core_interface.h.

◆ NM_REQ_FLAG_MATCHING_WILDCARD

#define NM_REQ_FLAG_MATCHING_WILDCARD   ((nm_req_flag_t)0x00100000)

request submited in wildcard queue

Definition at line 215 of file nm_core_interface.h.

◆ NM_REQ_FLAG_NONE

#define NM_REQ_FLAG_NONE   ((nm_req_flag_t)0x00000000)

no flag set

Definition at line 201 of file nm_core_interface.h.

◆ NM_REQ_FLAG_PACK

#define NM_REQ_FLAG_PACK   ((nm_req_flag_t)0x00002000)

request is a pack

Definition at line 205 of file nm_core_interface.h.

◆ NM_REQ_FLAG_PACK_PARTITIONED

#define NM_REQ_FLAG_PACK_PARTITIONED   ((nm_req_flag_t)0x04000000)

pack request is partitioned; send a separate msg header before data chunks

Definition at line 227 of file nm_core_interface.h.

◆ NM_REQ_FLAG_PACK_SYNCHRONOUS

#define NM_REQ_FLAG_PACK_SYNCHRONOUS   ((nm_req_flag_t)0x00001000)

flag pack as synchronous (i.e.

request the receiver to send an ack)

Definition at line 203 of file nm_core_interface.h.

◆ NM_REQ_FLAG_UNPACK

#define NM_REQ_FLAG_UNPACK   ((nm_req_flag_t)0x00004000)

request is an unpack

Definition at line 207 of file nm_core_interface.h.

◆ NM_REQ_FLAG_UNPACK_DATA_INFO

#define NM_REQ_FLAG_UNPACK_DATA_INFO   ((nm_req_flag_t)0x00008000)

flag unpack request as data information present

Definition at line 209 of file nm_core_interface.h.

◆ NM_REQ_FLAG_UNPACK_MATCHING_INFO

#define NM_REQ_FLAG_UNPACK_MATCHING_INFO   ((nm_req_flag_t)0x00010000)

flag unpack request as matching information present

Definition at line 211 of file nm_core_interface.h.

◆ NM_REQ_FLAG_UNPACK_PARTITIONED

#define NM_REQ_FLAG_UNPACK_PARTITIONED   ((nm_req_flag_t)0x02000000)

unpack request is partitioned; each chunk whill be notified separately

Definition at line 225 of file nm_core_interface.h.

◆ NM_REQ_FLAG_UNPACK_PREFETCHING

#define NM_REQ_FLAG_UNPACK_PREFETCHING   ((nm_req_flag_t)0x00020000)

flag unpack request needs prefetching

Definition at line 213 of file nm_core_interface.h.

◆ NM_STATUS_ACK_RECEIVED

#define NM_STATUS_ACK_RECEIVED   ((nm_status_t)0x00000100)

ack received for the given pack

Definition at line 179 of file nm_core_interface.h.

◆ NM_STATUS_ERROR

#define NM_STATUS_ERROR   ((nm_status_t)0x00001000)

request is in error; see error state in request

Definition at line 187 of file nm_core_interface.h.

◆ NM_STATUS_FINALIZED

#define NM_STATUS_FINALIZED   ((nm_status_t)0x00000800)

request is finalized, may be freed

Examples
nm_bench_req_monitor.c.

Definition at line 185 of file nm_core_interface.h.

◆ NM_STATUS_MASK_FULL

#define NM_STATUS_MASK_FULL   ((nm_status_t)-1)

mask to catch all bits of status

Definition at line 194 of file nm_core_interface.h.

◆ NM_STATUS_NONE

#define NM_STATUS_NONE   ((nm_status_t)0x00000000)

empty request

Definition at line 161 of file nm_core_interface.h.

◆ NM_STATUS_PACK_COMPLETED

#define NM_STATUS_PACK_COMPLETED   ((nm_status_t)0x00000004)

sending operation has completed

Definition at line 167 of file nm_core_interface.h.

◆ NM_STATUS_PACK_INIT

#define NM_STATUS_PACK_INIT   ((nm_status_t)0x00000001)

request initialized, not sent yet

Definition at line 163 of file nm_core_interface.h.

◆ NM_STATUS_PACK_MSG_SIZE

#define NM_STATUS_PACK_MSG_SIZE   ((nm_status_t)0x00002000)

msg size already sent; used only if flag pack_partitioned is set

Definition at line 189 of file nm_core_interface.h.

◆ NM_STATUS_PACK_POSTED

#define NM_STATUS_PACK_POSTED   ((nm_status_t)0x00000040)

sending operation is in progress

Definition at line 175 of file nm_core_interface.h.

◆ NM_STATUS_UNEXPECTED

#define NM_STATUS_UNEXPECTED   ((nm_status_t)0x00000010)

data or rdv has arrived, with no matching unpack

Definition at line 171 of file nm_core_interface.h.

◆ NM_STATUS_UNPACK_CANCELLED

#define NM_STATUS_UNPACK_CANCELLED   ((nm_status_t)0x00000020)

unpack operation has been cancelled

Definition at line 173 of file nm_core_interface.h.

◆ NM_STATUS_UNPACK_COMPLETED

#define NM_STATUS_UNPACK_COMPLETED   ((nm_status_t)0x00000008)

unpack operation has completed

Definition at line 169 of file nm_core_interface.h.

◆ NM_STATUS_UNPACK_DATA0

#define NM_STATUS_UNPACK_DATA0   ((nm_status_t)0x00000200)

first byte of data arrived, not unpacked yet- event triggered only if unpack is posted without data spec

Definition at line 181 of file nm_core_interface.h.

◆ NM_STATUS_UNPACK_DATA_SIZE

#define NM_STATUS_UNPACK_DATA_SIZE   ((nm_status_t)0x00000400)

size of data is known (last chunk of data arrived), not unpacked yet- event triggered only if unpack is posted without data spec

Definition at line 183 of file nm_core_interface.h.

◆ NM_STATUS_UNPACK_INIT

#define NM_STATUS_UNPACK_INIT   ((nm_status_t)0x00000002)

request initialized, not sent yet

Definition at line 165 of file nm_core_interface.h.

◆ NM_STATUS_UNPACK_POSTED

#define NM_STATUS_UNPACK_POSTED   ((nm_status_t)0x00000080)

unpack operation is in progress

Definition at line 177 of file nm_core_interface.h.

◆ NM_STATUS_UNPACK_PREFETCHED

#define NM_STATUS_UNPACK_PREFETCHED   ((nm_status_t)0x00004000)

flag unpack request as prefetched

Definition at line 191 of file nm_core_interface.h.

Typedef Documentation

◆ nm_cond_status_t

status with synchronization (wait/signal)

Definition at line 155 of file nm_core_interface.h.

◆ nm_req_chunk_flag_t

typedef uint32_t nm_req_chunk_flag_t

flags for req_chunk

Definition at line 230 of file nm_core_interface.h.

◆ nm_req_flag_t

typedef uint32_t nm_req_flag_t

pack/unpack flags

Definition at line 198 of file nm_core_interface.h.

◆ nm_status_t

typedef uint32_t nm_status_t

status bits of pack/unpack requests

Definition at line 153 of file nm_core_interface.h.