Classes | Defines | Functions | Variables

idl_request.h File Reference

#include "idl_export.h"
#include "grpc.h"
Include dependency graph for idl_request.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  GS_IDL_Request

Defines

#define GS_IDL_NULL_ID   -1

Functions

void gs_init_req ()
int add_req (grpc_sessionid_t, gs_problem_t *, int, IDL_VPTR *)
int del_req (grpc_sessionid_t)

Variables

GS_IDL_Request requests [MAX_GRPC_REQUESTS]

Define Documentation

#define GS_IDL_NULL_ID   -1

Print a list of the requests issued by IDL gs_call_async() which have results that haven't been picked up using gs_wait().

This is part of the IDL Client for GridSolve.

Definition at line 18 of file idl_request.h.


Function Documentation

int add_req ( grpc_sessionid_t  ,
gs_problem_t *  ,
int  ,
IDL_VPTR *   
)
int del_req ( grpc_sessionid_t  id  ) 

Remove this entry from the array of request structures.

This is called by gs_wait() after the request has completed.

Parameters:
id -- the request id of the new request
Returns:
0 on success, -1 on failure.

Definition at line 197 of file idl_request.c.

{
  if((id < 0) || (id >= MAX_GRPC_REQUESTS))
    return -1;

  /* post processing */
  postproc_argv_c(requests[id].pd, requests[id].argv_idl);

  /* free those cloned argv_idl */
  argv_idl_free(requests[id].argv_idl, requests[id].argc);

  requests[id].gs_req_id = GS_IDL_NULL_ID;
  requests[id].pd = NULL;
  requests[id].argv_idl = NULL;

  return 0;
}

Here is the call graph for this function:

Here is the caller graph for this function:

void gs_init_req (  ) 

Initializes the global array of request structures.

Definition at line 21 of file idl_request.c.

{
  int i;

  for(i=0;i<MAX_GRPC_REQUESTS;i++) {
    requests[i].gs_req_id = GS_IDL_NULL_ID;
    requests[i].argc = 0;
    requests[i].pd = NULL;
    requests[i].argv_idl = NULL; 
  }
}

Here is the caller graph for this function:


Variable Documentation

GS_IDL_Request requests[MAX_GRPC_REQUESTS]

Print a list of the requests issued by IDL gs_call_async() which have results that haven't been picked up using gs_wait().

This is part of the IDL Client for GridSolve.

Definition at line 14 of file idl_request.c.