Message Packing
[Functions]

Collaboration diagram for Message Packing:

Functions


Function Documentation

int globus_gram_protocol_pack_job_request ( int  job_state_mask,
const char *  callback_url,
const char *  rsl,
globus_byte_t **  query,
globus_size_t *  querysize 
)

Pack a GRAM Job RequestEncodes the parameters of a job request in a GRAM protocol message.

The resulting message may be sent with globus_gram_protocol_post() or framed with globus_gram_protocol_frame_request() and sent by the application.

Parameters:
job_state_mask The bitwise-or of the job states which the client would like to register for job state change callbacks.
callback_url A callback contact string which will be contacted when a job state change which matches the job_state_mask occurs. This may be NULL, if the client does not wish to register a callback contact with this job request.
rsl An RSL string which contains the job request. This will be parsed and validated on the server side.
query An output variable which will be populated with a new string containing the packed job request message. The caller must free this memory by calling globus_libc_free();
querysize An output variable which will be populated with the length of the job request message returned in query.
int globus_gram_protocol_pack_job_request_reply ( int  status,
const char *  job_contact,
globus_byte_t **  reply,
globus_size_t *  replysize 
)

Pack a GRAM reply messageEncodes the parameters of a reply to a job request in a GRAM protocol message.

The resulting message may be sent with globus_gram_protocol_post() or framed with globus_gram_protocol_frame_request() and sent by the application.

Parameters:
status The job's failure code if the job failed, or 0, if the job request was processed successfully.
job_contact A string containing the job's contact string, which may be used to contact the job manager to query or cancel the job. This may be NULL, if the job request was not successfull.
reply A pointer which will be set to point to a newly allocated reply string. The string must be freed by the caller with globus_libc_free()
replysize The length of the reply string.
Return values:
GLOBUS_SUCCESS The reply was successfully constructed.
GLOBUS_GRAM_PROTOCOL_MALLOC_FAILED Memory for the reply string could not be allocated.
int globus_gram_protocol_pack_status_request ( const char *  status_request,
globus_byte_t **  query,
globus_size_t *  querysize 
)

Pack a GRAM Job Manager QueryEncodes the parameters of a job status request, or other GRAM query in a GRAM protocol message.

The resulting message may be sent with globus_gram_protocol_post() or framed with globus_gram_protocol_frame_request() and sent by the application.

Parameters:
status_request A string containing the type of query. This may be "status", "register", "unregister", "signal", or "cancel".
query An output variable which will be populated with a new string containing the packed job query message.
querysize An output variable which will be populated with the length of the job query message returned in query.
int globus_gram_protocol_pack_status_reply ( int  job_status,
int  failure_code,
int  job_failure_code,
globus_byte_t **  reply,
globus_size_t *  replysize 
)

Pack a GRAM reply messageEncodes the parameters of a reply to a job manager query in a GRAM protocol message.

The resulting message may be sent with globus_gram_protocol_reply(). globus_gram_protocol_frame_reply() and sent by the application.

Parameters:
job_status The job's current job state.
failure_code The error code generated by the query. This may be GLOBUS_SUCCESS if the query succeeded.
job_failure_code The error code associated with the job if it has failed. This may be GLOBUS_SUCCESS if the job has not failed.
reply A pointer which will be set to point to a newly allocated reply string. The string must be freed by the caller with globus_libc_free()
replysize The length of the reply string.
Return values:
GLOBUS_SUCCESS The reply was successfully constructed.
GLOBUS_GRAM_PROTOCOL_MALLOC_FAILED Memory for the reply string could not be allocated.
int globus_gram_protocol_pack_status_update_message ( char *  job_contact,
int  status,
int  failure_code,
globus_byte_t **  reply,
globus_size_t *  replysize 
)

Pack a status update messageEncodes the current status of a job in a GRAM protocol message.

The resulting message may be sent with globus_gram_protocol_post() or framed with globus_gram_protocol_frame_request() and sent by the application. Status messages are sent by the job manager when the job's state changes.

Parameters:
job_contact The contact string associated with this job manager.
status The job's current job state.
failure_code The error associated with this job request, if the status value is GLOBUS_GRAM_PROTOCOL_JOB_STATE_FAILED.
reply An output variable which will be populated with a new string containing the packed status message. The caller must free this memory by calling globus_libc_free();
replysize An output variable which will be populated with the length of the job request message returned in reply.

about globus | globus toolkit | dev.globus

Comments? webmaster@globus.org