PPL Logo

conv-ccs/conv-ccs.c File Reference

Go to the source code of this file.

Functions

static void initHandlerRec (CcsHandlerRec *c, const char *name)
static void callHandlerRec (CcsHandlerRec *c, int reqLen, const void *reqData)
 CpvDeclare (CcsHandlerTable, ccsTab)
 CpvStaticDeclare (CcsImplHeader *, ccsReq)
void CcsRegisterHandler (const char *name, CmiHandler fn)
 Backward compatability routine: register a regular converse-style handler to receive CCS requests.
void CcsRegisterHandlerFn (const char *name, CcsHandlerFn fn, void *ptr)
 Register a real Ccs handler function to receive these CCS requests.
CcsHandlerRecCcsGetHandler (const char *name)
void CcsSetMergeFn (const char *name, CmiReduceMergeFn newMerge)
 Set the merging function for this CCS handler to newMerge.
void * CcsMerge_concat (int *size, void *local, void **remote, int n)
 SIMPLE_REDUCTION (logical_and, SIMPLE_REDUCTION(int, ret[i]=(ret[i]&&value[i])?1:0)
int CcsIsRemoteRequest (void)
void CcsCallerId (skt_ip_t *pip, unsigned int *pport)
CcsDelayedReply CcsDelayReply (void)
void CcsSendReply (int replyLen, const void *replyData)
void CcsSendReplyNoError (int replyLen, const void *replyData)
void CcsSendDelayedReply (CcsDelayedReply d, int replyLen, const void *replyData)
void CcsNoReply ()
void CcsNoDelayedReply (CcsDelayedReply d)
void CcsHandleRequest (CcsImplHeader *hdr, const char *reqData)
void CcsBufferMessage (char *msg)
 CpvDeclare (int, _bgCcsHandlerIdx)
 CpvDeclare (int, _bgCcsAck)
static void bg_req_fw_handler (char *msg)
void req_fw_handler (char *msg)
void CcsReleaseMessages ()
char * CcsImpl_ccs2converse (const CcsImplHeader *hdr, const void *data, int *ret_len)
static void rep_fw_handler (char *msg)
void CcsImpl_reply (CcsImplHeader *rep, int repLen, const void *repData)
 Send a Ccs reply back to the requestor, down the given socket.
void CcsImpl_netRequest (CcsImplHeader *hdr, const void *reqData)
 This is the entrance point of a CCS request into the server.
void CcsServerCheck (void)
int _isCcsHandlerIdx (int hIdx)
void CcsBuiltinsInit (char **argv)
 CpvDeclare (int, cmiArgDebugFlag)
 CpvDeclare (char *, displayArgument)
 CpvDeclare (int, cpdSuspendStartup)
void CcsInit (char **argv)

Variables

int rep_fw_handler_idx
static char ** bufferedMessages = NULL
static int CcsNumBufferedMsgs = 0
int _ccsHandlerIdx = 0


Function Documentation

static void initHandlerRec ( CcsHandlerRec c,
const char *  name 
) [static]

static void callHandlerRec ( CcsHandlerRec c,
int  reqLen,
const void *  reqData 
) [static]

CpvDeclare ( CcsHandlerTable  ,
ccsTab   
)

CpvStaticDeclare ( CcsImplHeader ,
ccsReq   
)

void CcsRegisterHandler ( const char *  ccs_handlername,
CmiHandler  fn 
)

Backward compatability routine: register a regular converse-style handler to receive CCS requests.

The requests will arrive as a Converse message, with a (useless) converse header.

Definition at line 52 of file conv-ccs.c.

References CkHashtablePut(), CcsHandlerRec::fnOld, initHandlerRec(), and CcsHandlerRec::name.

void CcsRegisterHandlerFn ( const char *  ccs_handlername,
CcsHandlerFn  fn,
void *  userPtr 
)

Register a real Ccs handler function to receive these CCS requests.

The requests will arrive as a flat, readonly buffer.

Definition at line 58 of file conv-ccs.c.

References CkHashtablePut(), CcsHandlerRec::fn, initHandlerRec(), CcsHandlerRec::name, and CcsHandlerRec::userPtr.

Referenced by ckcallback_group::registerCcsCallback().

CcsHandlerRec* CcsGetHandler ( const char *  name  ) 

Definition at line 65 of file conv-ccs.c.

References CkHashtableGet().

Referenced by CcsReply().

void CcsSetMergeFn ( const char *  name,
CmiReduceMergeFn  newMerge 
)

Set the merging function for this CCS handler to newMerge.

Definition at line 68 of file conv-ccs.c.

References CkHashtableGet(), CmiAbort(), CmiGetGlobalReduction(), CcsHandlerRec::mergeFn, and CcsHandlerRec::redID.

Referenced by CpdCharmInit(), and CpdInit().

void* CcsMerge_concat ( int size,
void *  local,
void **  remote,
int  n 
)

Definition at line 77 of file conv-ccs.c.

References ChMessageInt(), ChMessageInt_new(), CmiAlloc(), CmiFree(), CcsImplHeader::len, and ptr.

Referenced by CpdInit().

SIMPLE_REDUCTION ( logical_and  ,
SIMPLE_REDUCTION(  int,
ret  [i] = (ret[i]&&value[i])?1:0 
)

Definition at line 121 of file conv-ccs.c.

int CcsIsRemoteRequest ( void   ) 

Definition at line 145 of file conv-ccs.c.

Referenced by CWebHandler().

void CcsCallerId ( skt_ip_t pip,
unsigned int pport 
)

Definition at line 150 of file conv-ccs.c.

References attr, and ChMessageInt().

Referenced by ccs_killport().

CcsDelayedReply CcsDelayReply ( void   ) 

void CcsSendReply ( int  replyLen,
const void *  replyData 
)

void CcsSendReplyNoError ( int  replyLen,
const void *  replyData 
)

Definition at line 179 of file conv-ccs.c.

References CcsSendReply().

Referenced by KillOnAllSigs().

void CcsSendDelayedReply ( CcsDelayedReply  d,
int  replyLen,
const void *  replyData 
)

void CcsNoReply (  ) 

Definition at line 192 of file conv-ccs.c.

References CcsReply(), and ChMessageInt_new().

void CcsNoDelayedReply ( CcsDelayedReply  d  ) 

void CcsHandleRequest ( CcsImplHeader hdr,
const char *  reqData 
)

void CcsBufferMessage ( char *  msg  ) 

Definition at line 270 of file conv-ccs.c.

References CmiAbort(), CmiPrintf(), and malloc().

Referenced by bg_req_fw_handler(), and CcsImpl_ccs2converse().

CpvDeclare ( int  ,
_bgCcsHandlerIdx   
)

CpvDeclare ( int  ,
_bgCcsAck   
)

static void bg_req_fw_handler ( char *  msg  )  [static]

Definition at line 290 of file conv-ccs.c.

References CcsBufferMessage(), and ChMessageInt().

void req_fw_handler ( char *  msg  ) 

void CcsReleaseMessages (  ) 

Definition at line 319 of file conv-ccs.c.

References free().

Referenced by CcsInit(), and CpdBgInit().

char* CcsImpl_ccs2converse ( const CcsImplHeader hdr,
const void *  data,
int ret_len 
)

static void rep_fw_handler ( char *  msg  )  [static]

Definition at line 367 of file conv-ccs.c.

References CcsImpl_reply(), ChMessageInt(), CmiFree(), and CcsImplHeader::len.

Referenced by CcsInit().

void CcsImpl_reply ( CcsImplHeader rep,
int  repLen,
const void *  repData 
)

Send a Ccs reply back to the requestor, down the given socket.

Since there is no conv-host, node 0 does all the CCS communication-- this means all requests come to node 0 and are forwarded out; all replies are forwarded back to node 0.

Note: on Net- versions, CcsImpl_reply is implemented in machine.c

Definition at line 418 of file conv-ccs.c.

References CcsServer_sendReply(), ChMessageInt_new(), CmiAlloc(), CmiMyPe(), Converse::CmiSyncSendAndFree(), CcsImplHeader::len, and msg.

Referenced by CcsReply(), KillOnAllSigs(), and rep_fw_handler().

void CcsImpl_netRequest ( CcsImplHeader hdr,
const void *  reqData 
)

This is the entrance point of a CCS request into the server.

It is executed only on proc 0, and it forwards the request to the appropriate PE.

Definition at line 451 of file conv-ccs.c.

References CcsImpl_ccs2converse(), CcsSendReply(), ChMessageInt(), CmiPrintf(), Converse::CmiSyncSendAndFree(), msg, and CcsImplHeader::pe.

Referenced by CcsServerCheck().

void CcsServerCheck ( void   ) 

int _isCcsHandlerIdx ( int  hIdx  ) 

Definition at line 514 of file conv-ccs.c.

void CcsBuiltinsInit ( char **  argv  ) 

Definition at line 657 of file ccs-builtins.C.

References ccs_getinfo(), ccs_killpe(), ccs_killport(), CcsRegisterHandler(), and CWebInit().

Referenced by CcsInit().

CpvDeclare ( int  ,
cmiArgDebugFlag   
)

CpvDeclare ( char *  ,
displayArgument   
)

CpvDeclare ( int  ,
cpdSuspendStartup   
)

void CcsInit ( char **  argv  ) 


Variable Documentation

Definition at line 156 of file conv-ccs.c.

char** bufferedMessages = NULL [static]

Definition at line 266 of file conv-ccs.c.

int CcsNumBufferedMsgs = 0 [static]

Definition at line 267 of file conv-ccs.c.

Definition at line 281 of file conv-ccs.c.


Generated on Fri May 25 08:00:44 2012 for Charm++ by  doxygen 1.5.5