| 
    JULEA
    
   | 
 
Data Structures | |
| struct | JNetworkConnectionMemory | 
| struct | JNetworkConnectionMemoryID | 
| struct | JNetworkFabricAddr | 
| struct | JNetworkFabric | 
| struct | JNetworkConnection | 
Macros | |
| #define | KEY_MIN 1 | 
| #define | J_NETWORK_CONNECTION_MAX_SEND 2 | 
| #define | J_NETWORK_CONNECTION_MAX_RECV 1 | 
| #define | EXE(cmd, ...) | 
| #define | CHECK(msg) | 
| #define | G_CHECK(msg) | 
Typedefs | |
| typedef struct JNetworkConnection | JNetworkConnection | 
| typedef enum JNetworkConnectionAck | JNetworkConnectionAck | 
| typedef struct JNetworkConnectionMemory | JNetworkConnectionMemory | 
| typedef struct JNetworkConnectionMemoryID | JNetworkConnectionMemoryID | 
| typedef struct JNetworkFabric | JNetworkFabric | 
| typedef struct JNetworkFabricAddr | JNetworkFabricAddr | 
| typedef enum JNetworkFabricSide | JNetworkFabricSide | 
| typedef enum JNetworkFabricEvents | JNetworkFabricEvents | 
| typedef enum JNetworkConnectionEvents | JNetworkConnectionEvents | 
Enumerations | |
| enum | JNetworkConnectionAck { J_NETWORK_CONNECTION_ACK = 42 } | 
| enum | JNetworkFabricSide { JF_SERVER , JF_CLIENT } | 
| enum | JNetworkFabricEvents { J_FABRIC_EVENT_ERROR = 0 , J_FABRIC_EVENT_TIMEOUT , J_FABRIC_EVENT_CONNECTION_REQUEST , J_FABRIC_EVENT_SHUTDOWN } | 
| enum | JNetworkConnectionEvents { J_CONNECTION_EVENT_ERROR = 0 , J_CONNECTION_EVENT_TIMEOUT , J_CONNECTION_EVENT_CONNECTED , J_CONNECTION_EVENT_SHUTDOWN } | 
| #define CHECK | ( | msg | ) | 
| #define EXE | ( | cmd, | |
| ... | |||
| ) | 
| #define G_CHECK | ( | msg | ) | 
| #define J_NETWORK_CONNECTION_MAX_RECV 1 | 
Highest number of j_network_connection_recv() calls before a j_network_connection_wait_for_completion().
| #define J_NETWORK_CONNECTION_MAX_SEND 2 | 
Highest number of j_network_connection_send() calls before a j_network_connection_wait_for_completion().
| #define KEY_MIN 1 | 
| typedef struct JNetworkConnection JNetworkConnection | 
| typedef enum JNetworkConnectionAck JNetworkConnectionAck | 
| typedef enum JNetworkConnectionEvents JNetworkConnectionEvents | 
| typedef struct JNetworkConnectionMemory JNetworkConnectionMemory | 
| typedef struct JNetworkConnectionMemoryID JNetworkConnectionMemoryID | 
| typedef struct JNetworkFabric JNetworkFabric | 
| typedef struct JNetworkFabricAddr JNetworkFabricAddr | 
| typedef enum JNetworkFabricEvents JNetworkFabricEvents | 
| typedef enum JNetworkFabricSide JNetworkFabricSide | 
Possible events for paired connections.
| enum JNetworkFabricEvents | 
Possible events for listening fabrics
| enum JNetworkFabricSide | 
| gboolean j_network_connection_closed | ( | JNetworkConnection * | connection | ) | 
Check if the connection was closed by the other party.
| gboolean j_network_connection_fini | ( | JNetworkConnection * | connection | ) | 
Closes a connection and free all related resources. * If this an client side connection with private fabric, it will also clear the fabric.
| JNetworkConnection * j_network_connection_init_client | ( | JConfiguration * | configuration, | 
| JBackendType | backend, | ||
| guint | index | ||
| ) | 
Builds a direct connection to an active fabric.
This constructor will fetch the fabric address via TCP and then build a paired connection to this, which later allows for messaging and RMA data transfer. This will also construct a fabric for that connection, which is freed when the connection is finished.
| [in] | configuration | A configuration. | 
| [in] | backend | A backend type. | 
| [in] | index | An index. | 
| JNetworkConnection * j_network_connection_init_server | ( | JNetworkFabric * | fabric, | 
| GSocketConnection * | gconnection | ||
| ) | 
Establish connection to client based on established GSocketConnection. The GSocketConnection will be used to send the server fabric data. For the connection process see j_network_connection_init_client().
| [in] | fabric | Fabric via which the connection should be established. | 
| [in] | connection | GSocketConnection for address exchange. | 
| gboolean j_network_connection_memory_get_id | ( | JNetworkConnectionMemory * | this, | 
| JNetworkConnectionMemoryID * | id | ||
| ) | 
Gets identifier of memory region.
| this | A memory region. | |
| [out] | id | ID of registered memory. | 
| gboolean j_network_connection_recv | ( | JNetworkConnection * | connection, | 
| gsize | length, | ||
| gpointer | data | ||
| ) | 
Asynchronously receives data via MSG connection. Asynchronously receive a message. To wait for completion, use j_network_connection_wait_for_completion().
| [in] | connection | A connection. | 
| [in] | length | A length in bytes. | 
| [out] | data | A data buffer to receive into. | 
| gboolean j_network_connection_rma_read | ( | JNetworkConnection * | connection, | 
| JNetworkConnectionMemoryID const * | memory_id, | ||
| gpointer | data | ||
| ) | 
Asynchronous direct memory read. Initiate an direct memory read. To wait for completion, use j_network_connection_wait_for_completion().
| [in] | connection | A connection. | 
| [in] | memory_id | A memory ID for the segment that should be copied. | 
| [out] | data | A data buffer to receive into. | 
| gboolean j_network_connection_rma_register | ( | JNetworkConnection * | connection, | 
| gconstpointer | data, | ||
| gsize | length, | ||
| JNetworkConnectionMemory * | handle | ||
| ) | 
Registers memory to make it RMA-readable. Memory access rights must changed to allow for an RMA read by the other party. Therefore, before a j_network_connection_rma_read() can succeed, the provider of the data must register the memory first!
| [in] | connection | A connection. | 
| [in] | data | A data buffer to share. | 
| [in] | length | A length in bytes. | 
| [out] | handle | A handle for the memory region to unregister with j_network_connection_rma_unregister(). | 
| gboolean j_network_connection_rma_unregister | ( | JNetworkConnection * | connection, | 
| JNetworkConnectionMemory * | handle | ||
| ) | 
Unregisters memory from RMA availablity. Counterpart to j_network_connection_rma_register().
| [in] | connection | A connection. | 
| [in] | handle | A handle for the memory region to unregister. | 
| gboolean j_network_connection_send | ( | JNetworkConnection * | connection, | 
| gpointer | data, | ||
| gsize | length | ||
| ) | 
Async send data via MSG connection. Asynchronously sends a message. To recognize completion, use j_network_connection_wait_for_completion(). If the message is small enough it can be injected to the network, in that case the actions finishes immediately (j_network_connection_wait_for_completion() still works).
feedback if message was injected
make data a gconstpointer if possible
| [in] | connection | A connection. | 
| [in] | data | A data buffer to send. | 
| [in] | length | A length in bytes. | 
| gboolean j_network_connection_wait_for_completion | ( | JNetworkConnection * | connection | ) | 
Waits until operations initiated at his connection finished.
| JNetworkFabric * j_network_fabric_init_server | ( | JConfiguration * | configuration | ) | 
Initializes a fabric for the server side. In difference to j_network_fabric_init_client, the resulting fabric is capable of reciving connection requests. Therefore, events can be read via j_fabric_sread_event.
| [in] | configuration | A configuration. |