gras_socket_t gras_trp_select(double timeout) {
gras_socket_t res;
- gras_trp_procdata_t pd=(gras_trp_procdata_t)gras_libdata_get("gras_trp");
+ gras_trp_procdata_t pd=(gras_trp_procdata_t)gras_libdata_by_id(gras_trp_libdata_id);
gras_trp_sg_sock_data_t *sockdata;
gras_trp_plugin_t trp;
static void *gras_trp_procdata_new() {
gras_trp_procdata_t res = xbt_new(s_gras_trp_procdata_t,1);
+ res->name = xbt_strdup("gras_trp");
+ res->name_len = 0;
res->sockets = xbt_dynar_new(sizeof(gras_socket_t*), NULL);
return (void*)res;
/*
* Module registration
*/
+int gras_trp_libdata_id;
void gras_trp_register() {
- gras_procdata_add("gras_trp",gras_trp_procdata_new, gras_trp_procdata_free);
+ gras_trp_libdata_id = gras_procdata_add("gras_trp",gras_trp_procdata_new, gras_trp_procdata_free);
}
xbt_dynar_t
gras_socketset_get(void) {
/* FIXME: KILLME */
- return ((gras_trp_procdata_t) gras_libdata_get("gras_trp"))->sockets;
+ return ((gras_trp_procdata_t) gras_libdata_by_id(gras_trp_libdata_id))->sockets;
}
* (used by sg_process.c to cleanup the SG channel cruft)
*/
typedef struct {
- /* SG only elements. In RL, they are part of the OS ;) */
- int chan; /* Formated messages channel */
- int measChan; /* Unformated echange channel for performance measurement*/
- xbt_dynar_t sockets; /* all sockets known to this process */
+ /* set headers */
+ unsigned int ID;
+ char *name;
+ unsigned int name_len;
+
+ /* SG only elements. In RL, they are part of the OS ;) */
+ int chan; /* Formated messages channel */
+ int measChan; /* Unformated echange channel for performance measurement*/
+ xbt_dynar_t sockets; /* all sockets known to this process */
} s_gras_trp_procdata_t,*gras_trp_procdata_t;
gras_socket_t sock){
gras_hostdata_t *hd=(gras_hostdata_t *)MSG_host_get_data(MSG_host_self());
- gras_trp_procdata_t pd=(gras_trp_procdata_t)gras_libdata_get("gras_trp");
+ gras_trp_procdata_t pd=(gras_trp_procdata_t)gras_libdata_by_id(gras_trp_libdata_id);
gras_sg_portrec_t pr;
gras_trp_sg_sock_data_t *data;
int found;
int gras_trp_sg_chunk_recv(gras_socket_t sock,
char *data,
unsigned long int size){
- gras_trp_procdata_t pd=(gras_trp_procdata_t)gras_libdata_get("gras_trp");
+ gras_trp_procdata_t pd=(gras_trp_procdata_t)gras_libdata_by_id(gras_trp_libdata_id);
m_task_t task=NULL;
sg_task_data_t *task_data;
#include "gras/Transport/transport_interface.h" /* semi-public API */
#include "gras/Virtu/virtu_interface.h" /* socketset_get() */
+extern int gras_trp_libdata_id; /* our libdata identifier */
/**
* s_gras_socket:
*