OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

vprotocol_pessimist_sender_based_types.h
1 /*
2 * Copyright (c) 2004-2007 The Trustees of the University of Tennessee.
3 * All rights reserved.
4 * $COPYRIGHT$
5 *
6 * Additional copyrights may follow
7 *
8 * $HEADER$
9 */
10
11 #ifndef __VPROTOCOL_PESSIMIST_SENDERBASED_TYPES_H__
12 #define __VPROTOCOL_PESSIMIST_SENDERBASED_TYPES_H__
13
14 #include "ompi_config.h"
15 #include "vprotocol_pessimist_event.h"
16
17 BEGIN_C_DECLS
18
19 /* There is several different ways of packing the data to the sender-based
20 * buffer. Just pick one.
21 */
22 #define SB_USE_PACK_METHOD
23 #undef SB_USE_PROGRESS_METHOD
24 #undef SB_USE_CONVERTOR_METHOD
25
26 typedef struct vprotocol_pessimist_sender_based_t
27 {
28 int sb_pagesize; /* size of memory pages on this architecture */
29 #ifdef SB_USE_CONVERTOR_METHOD
30 uintptr_t sb_conv_to_pessimist_offset; /* end of request from req_conv */
31 #endif
32
33 #if defined __WINDOWS__
34 HANDLE sb_fd; /* file handle of mapped file */
35 HANDLE sb_map; /* view handle of mapped file */
36 #else
37 int sb_fd; /* file descriptor of mapped file */
38 #endif
39
40 off_t sb_offset; /* offset in mmaped file */
41 uintptr_t sb_addr; /* base address of mmaped segment */
42 size_t sb_length; /* length of mmaped segment */
43 uintptr_t sb_cursor; /* current pointer to writeable memory */
44 size_t sb_available; /* available space before end of segment */
45
46 #ifdef SB_USE_PROGRESS_METHOD
47 opal_list_t sb_sendreq; /* requests that needs to be progressed */
48 #endif
49 } vprotocol_pessimist_sender_based_t;
50
51 typedef struct vprotocol_pessimist_sender_based_header_t
52 {
53 size_t size;
54 int dst;
55 int tag;
56 uint32_t contextid;
57 vprotocol_pessimist_clock_t sequence;
58 } vprotocol_pessimist_sender_based_header_t;
59
60 typedef struct vprotocol_pessimist_sender_based_request_t
61 {
62 uintptr_t cursor;
63 size_t bytes_progressed;
64 convertor_advance_fct_t conv_advance;
65 uint32_t conv_flags;
66 } vprotocol_pessimist_sender_based_request_t;
67
68
69 END_C_DECLS
70
71 #endif /* defined(VPROTOCOL_PESSIMIST_SENDERBASED_TYPES_H)*/
72
vprotocol_pessimist_sender_based_header_t
Definition: vprotocol_pessimist_sender_based_types.h:51
vprotocol_pessimist_sender_based_request_t
Definition: vprotocol_pessimist_sender_based_types.h:60
opal_list_t
Definition: opal_list.h:147
vprotocol_pessimist_sender_based_t
Definition: vprotocol_pessimist_sender_based_types.h:26