SimGrid  3.13
Versatile Simulation of Distributed Systems
smx_network_private.h File Reference
#include <deque>
#include <xbt/base.h>
#include "simgrid/simix.h"
#include "popping_private.h"

Classes

struct  s_smx_mailbox
 Rendez-vous point datatype. More...
 

Typedefs

typedef struct s_smx_mailbox s_smx_mailbox_t
 Rendez-vous point datatype. More...
 

Functions

XBT_PRIVATE void SIMIX_mailbox_exit (void)
 
XBT_PRIVATE smx_mailbox_t SIMIX_mbox_create (const char *name)
 
XBT_PRIVATE smx_mailbox_t SIMIX_mbox_get_by_name (const char *name)
 
XBT_PRIVATE void SIMIX_mbox_remove (smx_mailbox_t mbox, smx_synchro_t comm)
 Removes a communication synchro from a rendez-vous point. More...
 
XBT_PRIVATE smx_synchro_t SIMIX_mbox_get_head (smx_mailbox_t mbox)
 
XBT_PRIVATE void SIMIX_mbox_set_receiver (smx_mailbox_t mbox, smx_process_t proc)
 set the receiver of the rendez vous point to allow eager sends More...
 
XBT_PRIVATE smx_process_t SIMIX_mbox_get_receiver (smx_mailbox_t mbox)
 get the receiver (process associated to the mailbox) More...
 
XBT_PRIVATE smx_synchro_t SIMIX_comm_irecv (smx_process_t dst_proc, smx_mailbox_t mbox, void *dst_buff, size_t *dst_buff_size, int(*)(void *, void *, smx_synchro_t), void(*copy_data_fun)(smx_synchro_t, void *, size_t), void *data, double rate)
 
XBT_PRIVATE void SIMIX_comm_destroy (smx_synchro_t synchro)
 Destroy a communicate synchro. More...
 
XBT_PRIVATE void SIMIX_comm_destroy_internal_actions (smx_synchro_t synchro)
 
XBT_PRIVATE smx_synchro_t SIMIX_comm_iprobe (smx_process_t dst_proc, smx_mailbox_t mbox, int type, int src, int tag, int(*match_fun)(void *, void *, smx_synchro_t), void *data)
 
XBT_PRIVATE void SIMIX_post_comm (smx_synchro_t synchro)
 This function is called when a Surf communication synchro is finished. More...
 
XBT_PRIVATE void SIMIX_comm_cancel (smx_synchro_t synchro)
 
XBT_PRIVATE double SIMIX_comm_get_remains (smx_synchro_t synchro)
 get the amount remaining from the communication More...
 
XBT_PRIVATE e_smx_state_t SIMIX_comm_get_state (smx_synchro_t synchro)
 
XBT_PRIVATE void SIMIX_comm_suspend (smx_synchro_t synchro)
 
XBT_PRIVATE void SIMIX_comm_resume (smx_synchro_t synchro)
 
XBT_PRIVATE smx_process_t SIMIX_comm_get_src_proc (smx_synchro_t synchro)
 
XBT_PRIVATE smx_process_t SIMIX_comm_get_dst_proc (smx_synchro_t synchro)
 

Typedef Documentation

Rendez-vous point datatype.

Function Documentation

XBT_PRIVATE void SIMIX_mailbox_exit ( void  )
XBT_PRIVATE smx_mailbox_t SIMIX_mbox_create ( const char *  name)
XBT_PRIVATE smx_mailbox_t SIMIX_mbox_get_by_name ( const char *  name)
XBT_PRIVATE void SIMIX_mbox_remove ( smx_mailbox_t  mbox,
smx_synchro_t  comm 
)

Removes a communication synchro from a rendez-vous point.

Parameters
mboxThe rendez-vous point
commThe communication synchro
XBT_PRIVATE smx_synchro_t SIMIX_mbox_get_head ( smx_mailbox_t  mbox)
XBT_PRIVATE void SIMIX_mbox_set_receiver ( smx_mailbox_t  mbox,
smx_process_t  process 
)

set the receiver of the rendez vous point to allow eager sends

Parameters
mboxThe rendez-vous point
processThe receiving process
XBT_PRIVATE smx_process_t SIMIX_mbox_get_receiver ( smx_mailbox_t  mbox)

get the receiver (process associated to the mailbox)

Parameters
mboxThe rendez-vous point
Returns
process The receiving process (NULL if not set)
XBT_PRIVATE smx_synchro_t SIMIX_comm_irecv ( smx_process_t  dst_proc,
smx_mailbox_t  mbox,
void dst_buff,
size_t *  dst_buff_size,
int(*)(void *, void *, smx_synchro_t ,
void(*)(smx_synchro_t, void *, size_t)  copy_data_fun,
void data,
double  rate 
)
XBT_PRIVATE void SIMIX_comm_destroy ( smx_synchro_t  synchro)

Destroy a communicate synchro.

Parameters
synchroThe communicate synchro to be destroyed
XBT_PRIVATE void SIMIX_comm_destroy_internal_actions ( smx_synchro_t  synchro)
XBT_PRIVATE smx_synchro_t SIMIX_comm_iprobe ( smx_process_t  dst_proc,
smx_mailbox_t  mbox,
int  type,
int  src,
int  tag,
int(*)(void *, void *, smx_synchro_t match_fun,
void data 
)
XBT_PRIVATE void SIMIX_post_comm ( smx_synchro_t  synchro)

This function is called when a Surf communication synchro is finished.

Parameters
synchrothe corresponding Simix communication
XBT_PRIVATE void SIMIX_comm_cancel ( smx_synchro_t  synchro)
XBT_PRIVATE double SIMIX_comm_get_remains ( smx_synchro_t  synchro)

get the amount remaining from the communication

Parameters
synchroThe communication
XBT_PRIVATE e_smx_state_t SIMIX_comm_get_state ( smx_synchro_t  synchro)
XBT_PRIVATE void SIMIX_comm_suspend ( smx_synchro_t  synchro)
XBT_PRIVATE void SIMIX_comm_resume ( smx_synchro_t  synchro)
XBT_PRIVATE smx_process_t SIMIX_comm_get_src_proc ( smx_synchro_t  synchro)
XBT_PRIVATE smx_process_t SIMIX_comm_get_dst_proc ( smx_synchro_t  synchro)