From: <tom...@us...> - 2011-11-07 18:34:01
|
Revision: 2788 http://razorbacktm.svn.sourceforge.net/razorbacktm/?rev=2788&view=rev Author: tomjudge Date: 2011-11-07 18:33:53 +0000 (Mon, 07 Nov 2011) Log Message: ----------- Add (de)serialization for remaining message types Modified Paths: -------------- api/branches/messaging-0.3/include/Makefile.am api/branches/messaging-0.3/include/razorback.h api/branches/messaging-0.3/src/Makefile.am api/branches/messaging-0.3/src/log.c api/branches/messaging-0.3/src/messages/block_submit.c api/branches/messaging-0.3/src/messages/cache_req.c api/branches/messaging-0.3/src/messages/cache_resp.c api/branches/messaging-0.3/src/messages/inspection.c api/branches/messaging-0.3/src/messages/judgment.c api/branches/messaging-0.3/src/messages/log.c Removed Paths: ------------- api/branches/messaging-0.3/include/razorback/input_queue.h api/branches/messaging-0.3/include/razorback/judgment_queue.h api/branches/messaging-0.3/include/razorback/log_queue.h api/branches/messaging-0.3/include/razorback/request_queue.h api/branches/messaging-0.3/src/input_queue.c api/branches/messaging-0.3/src/judgment_queue.c api/branches/messaging-0.3/src/log_queue.c api/branches/messaging-0.3/src/request_queue.c Modified: api/branches/messaging-0.3/include/Makefile.am =================================================================== --- api/branches/messaging-0.3/include/Makefile.am 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/include/Makefile.am 2011-11-07 18:33:53 UTC (rev 2788) @@ -2,7 +2,6 @@ nobase_include_HEADERS = \ razorback.h \ -razorback/alert_queue.h \ razorback/api.h \ razorback/block.h \ razorback/block_id.h \ @@ -14,20 +13,14 @@ razorback/debug.h \ razorback/event.h \ razorback/hash.h \ -razorback/input_queue.h \ -razorback/inspector_queue.h \ razorback/judgment.h \ -razorback/judgment_queue.h \ razorback/list.h \ razorback/log.h \ -razorback/log_queue.h \ razorback/metadata.h \ razorback/messages.h \ razorback/ntlv.h \ razorback/queue.h \ razorback/queue_list.h \ -razorback/request_queue.h \ -razorback/response_queue.h \ razorback/storage.h \ razorback/socket.h \ razorback/submission.h \ Deleted: api/branches/messaging-0.3/include/razorback/input_queue.h =================================================================== --- api/branches/messaging-0.3/include/razorback/input_queue.h 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/include/razorback/input_queue.h 2011-11-07 18:33:53 UTC (rev 2788) @@ -1,35 +0,0 @@ -/** @file input_queue.h - * InputQueue functions - */ - -#ifndef RAZORBACK_INPUT_QUEUE_H -#define RAZORBACK_INPUT_QUEUE_H - -#include <razorback/types.h> -#include <razorback/queue.h> -#include <razorback/messages.h> - -/** Initializes the input queue - * @param p_iFlags Flags - * @return true if ok, false if error - */ -extern struct Queue * InputQueue_Initialize (int p_iFlags); - -/** Terminates the input queue - */ -extern void InputQueue_Terminate (struct Queue *); - -/** Gets a message from the input queue - * @param p_pMessage the message - * @return true if ok, false if error or timeout (errno==EAGAIN if timeout) - */ -extern struct MessageBlockSubmission * InputQueue_Get (struct Queue *); - -/** Puts a message into the input queue - * @param p_pMessage the message - * @return true if ok, false if error - */ -extern bool InputQueue_Put (struct Queue *, struct MessageBlockSubmission *p_pMessage); - - -#endif // RAZORBACK_INPUT_QUEUE_H Deleted: api/branches/messaging-0.3/include/razorback/judgment_queue.h =================================================================== --- api/branches/messaging-0.3/include/razorback/judgment_queue.h 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/include/razorback/judgment_queue.h 2011-11-07 18:33:53 UTC (rev 2788) @@ -1,37 +0,0 @@ -/** @file judgment_queue.h - * JudgmentQueue functions - */ - -#ifndef RAZORBACK_JUDGMENTQUEUE_H -#define RAZORBACK_JUDGMENTQUEUE_H - -#include <razorback/types.h> -#include <razorback/queue.h> -#include <razorback/messages.h> - - -/** Initializes the judgment queue - * @param p_iFlags flags - * @return a pointer to the queue or null on error. - */ -extern struct Queue * JudgmentQueue_Initialize (int p_iFlags); - -/** Terminates the judgment queue - */ -extern void JudgmentQueue_Terminate (struct Queue *); - -/** Gets a message from the judgment queue - * @param p_pMessage the message - * @return true if ok, false if error or timeout (errno==EAGAIN if timeout) - */ -extern struct MessageJudgmentSubmission * JudgmentQueue_Get (struct Queue *); - -/** Puts a message into the judgment queue - * @param p_pMessage the message - * @return true if ok, false if error - */ -extern bool JudgmentQueue_Put (struct Queue *, struct MessageJudgmentSubmission - *p_pMessage); - - -#endif // RAZORBACK_JUDGMENTQUEUE_H Deleted: api/branches/messaging-0.3/include/razorback/log_queue.h =================================================================== --- api/branches/messaging-0.3/include/razorback/log_queue.h 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/include/razorback/log_queue.h 2011-11-07 18:33:53 UTC (rev 2788) @@ -1,34 +0,0 @@ -/** @file log_queue.h - * LogQueue functions - */ - -#ifndef RAZORBACK_LOGQUEUE_H -#define RAZORBACK_LOGQUEUE_H - -#include <razorback/types.h> -#include <razorback/messages.h> - -/** Initializes the logqueue - * @param p_iFlags flags - * @return true on success false on error. - */ -extern bool LogQueue_Initialize (int p_iFlags); - -/** Terminates the log queue - */ -extern void LogQueue_Terminate (); - -/** Gets a message from the log queue - * @param p_pMessage the message - * @return true if ok, false if error or timeout (errno==EAGAIN if timeout) - */ -extern struct MessageLogSubmission * LogQueue_Get (void); - -/** Puts a message into the log queue - * @param p_pMessage the message - * @return true if ok, false if error - */ -extern bool LogQueue_Put (struct Message *p_pMessage); - - -#endif // RAZORBACK_LOGQUEUE_H Deleted: api/branches/messaging-0.3/include/razorback/request_queue.h =================================================================== --- api/branches/messaging-0.3/include/razorback/request_queue.h 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/include/razorback/request_queue.h 2011-11-07 18:33:53 UTC (rev 2788) @@ -1,35 +0,0 @@ -/** @file request_queue.h - * RequestQueue functions - */ - -#ifndef RAZORBACK_REQUESTQUEUE_H -#define RAZORBACK_REQUESTQUEUE_H - -#include <razorback/types.h> -#include <razorback/queue.h> -#include <razorback/messages.h> - -/** Initializes the request queue - * @param p_iFlags flags - * @return true on success false on error. - */ -extern struct Queue * RequestQueue_Initialize (int p_iFlags); - -/** Terminates the request queue - */ -extern void RequestQueue_Terminate (struct Queue *); - -/** Gets a message from the request queue - * @param p_pMessage the message - * @return true if ok, false if error or timeout (errno==EAGAIN if timeout) - */ -extern struct MessageCacheReq * RequestQueue_Get (struct Queue * ); - -/** Puts a message into the request queue - * @param p_pMessage the message - * @return true if ok, false if error - */ -extern bool RequestQueue_Put (struct Queue *, struct MessageCacheReq *p_pMessage); - - -#endif // RAZORBACK_REQUESTQUEUE_H Modified: api/branches/messaging-0.3/include/razorback.h =================================================================== --- api/branches/messaging-0.3/include/razorback.h 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/include/razorback.h 2011-11-07 18:33:53 UTC (rev 2788) @@ -6,26 +6,19 @@ #include <razorback/types.h> -#include <razorback/alert_queue.h> #include <razorback/block.h> #include <razorback/block_id.h> #include <razorback/block_pool.h> #include <razorback/cache.h> -#include <razorback/command_queue.h> #include <razorback/config_file.h> #include <razorback/daemon.h> #include <razorback/debug.h> #include <razorback/hash.h> -#include <razorback/input_queue.h> -#include <razorback/inspector_queue.h> -#include <razorback/judgment_queue.h> #include <razorback/log.h> #include <razorback/messages.h> #include <razorback/ntlv.h> #include <razorback/queue.h> #include <razorback/queue_list.h> -#include <razorback/request_queue.h> -#include <razorback/response_queue.h> #include <razorback/socket.h> #include <razorback/thread.h> #include <razorback/uuids.h> Modified: api/branches/messaging-0.3/src/Makefile.am =================================================================== --- api/branches/messaging-0.3/src/Makefile.am 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/src/Makefile.am 2011-11-07 18:33:53 UTC (rev 2788) @@ -32,7 +32,6 @@ list.c \ local_cache.c \ judgment.c \ -log.c \ metadata.c \ messages/block_submit.c \ messages/cache_req.c \ Deleted: api/branches/messaging-0.3/src/input_queue.c =================================================================== --- api/branches/messaging-0.3/src/input_queue.c 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/src/input_queue.c 2011-11-07 18:33:53 UTC (rev 2788) @@ -1,125 +0,0 @@ -#include "config.h" -#include <razorback/debug.h> -#include <razorback/input_queue.h> -#include <razorback/queue.h> -#include <razorback/block.h> -#include <razorback/event.h> -#include <stdio.h> -#include <errno.h> -#include "command_and_control.h" -#include "binary_buffer.h" - -static void -InputQueue_GetQueueName (uint8_t * p_sQueueName) -{ - sprintf ((char *) p_sQueueName, "/queue/INPUT"); -} - -SO_PUBLIC struct Queue * -InputQueue_Initialize (int p_iFlags) -{ - // the name - uint8_t l_sQueueName[128]; - - // transform to correct name - InputQueue_GetQueueName (l_sQueueName); - - // initialize the queue - return Queue_Create(l_sQueueName, p_iFlags); -} - -SO_PUBLIC void -InputQueue_Terminate (struct Queue *queue) -{ - // terminate the queue - Queue_Terminate (queue); - - // done -} - -SO_PUBLIC struct MessageBlockSubmission * -InputQueue_Get (struct Queue *queue) -{ - struct MessageBlockSubmission *message; - struct BinaryBuffer *l_pBuffer; - - // read fromn the queue - if ((l_pBuffer = Queue_Get (queue)) == NULL) - return NULL; - - if ((message = calloc(1,sizeof(struct MessageBlockSubmission))) == NULL) - return NULL; - - // parse the buffer - if (!BinaryBuffer_Get_MessageHeader (l_pBuffer, &message->mhHeader)) - { - BinaryBuffer_Destroy (l_pBuffer); - MessageBlockSubmission_Destroy(message); - return NULL; - } - if (!BinaryBuffer_Get_uint32_t (l_pBuffer, &message->iReason)) - { - BinaryBuffer_Destroy (l_pBuffer); - MessageBlockSubmission_Destroy(message); - return NULL; - } - if (!BinaryBuffer_Get_Event (l_pBuffer, &message->pEvent)) - { - BinaryBuffer_Destroy (l_pBuffer); - MessageBlockSubmission_Destroy(message); - return NULL; - } - BinaryBuffer_Destroy (l_pBuffer); - // done - return message; -} - -SO_PUBLIC bool -InputQueue_Put (struct Queue *queue, struct MessageBlockSubmission * p_pMessage) -{ - ASSERT (p_pMessage != NULL); - pthread_mutex_lock(&sg_mPauseLock); - struct BinaryBuffer *l_pBuffer; - - if ((l_pBuffer = - BinaryBuffer_Create (p_pMessage->mhHeader.iLength)) == NULL) - { - pthread_mutex_unlock(&sg_mPauseLock); - return false; - } - // parse the buffer - if (!BinaryBuffer_Put_MessageHeader (l_pBuffer, &p_pMessage->mhHeader)) - { - BinaryBuffer_Destroy (l_pBuffer); - pthread_mutex_unlock(&sg_mPauseLock); - return false; - } - - if (!BinaryBuffer_Put_uint32_t (l_pBuffer, p_pMessage->iReason)) - { - BinaryBuffer_Destroy (l_pBuffer); - pthread_mutex_unlock(&sg_mPauseLock); - return false; - } - - if (!BinaryBuffer_Put_Event (l_pBuffer, p_pMessage->pEvent)) - { - BinaryBuffer_Destroy (l_pBuffer); - pthread_mutex_unlock(&sg_mPauseLock); - return false; - } - - // put in the queue - if (!Queue_Put (queue, l_pBuffer)) - { - BinaryBuffer_Destroy (l_pBuffer); - pthread_mutex_unlock(&sg_mPauseLock); - return false; - } - - BinaryBuffer_Destroy (l_pBuffer); - pthread_mutex_unlock(&sg_mPauseLock); - - // done - return true; -} Deleted: api/branches/messaging-0.3/src/judgment_queue.c =================================================================== --- api/branches/messaging-0.3/src/judgment_queue.c 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/src/judgment_queue.c 2011-11-07 18:33:53 UTC (rev 2788) @@ -1,116 +0,0 @@ -#include "config.h" -#include <razorback/debug.h> -#include <razorback/judgment_queue.h> -#include <razorback/queue.h> -#include <razorback/queue_list.h> -#include <razorback/block.h> -#include <errno.h> -#include "binary_buffer.h" - - -static void -JudgmentQueue_GetQueueName (uint8_t * p_sQueueName) -{ - sprintf ((char *) p_sQueueName, "/queue/JUDGMENT"); -} - -SO_PUBLIC struct Queue * -JudgmentQueue_Initialize (int p_iFlags) -{ - // the name - uint8_t l_sQueueName[128]; - // transform to correct name - JudgmentQueue_GetQueueName (l_sQueueName); - // initialize the queue - return Queue_Create(l_sQueueName, p_iFlags); -} - -SO_PUBLIC void -JudgmentQueue_Terminate (struct Queue *queue) -{ - Queue_Terminate (queue); -} - -SO_PUBLIC struct MessageJudgmentSubmission * -JudgmentQueue_Get (struct Queue *queue) -{ - struct MessageJudgmentSubmission *message; - // temporary variables - struct BinaryBuffer *l_pBuffer; - - - // read from the queue - if ((l_pBuffer = Queue_Get (queue)) == NULL) - return NULL; - - if ((message = calloc(1,sizeof(struct MessageJudgmentSubmission))) == NULL) - return NULL; - - // parse the buffer - if (!BinaryBuffer_Get_MessageHeader (l_pBuffer, &message->mhHeader)) - { - BinaryBuffer_Destroy (l_pBuffer); - MessageJudgmentSubmission_Destroy(message); - return NULL; - } - - if (!BinaryBuffer_Get_uint8_t (l_pBuffer, &message->iReason)) - { - BinaryBuffer_Destroy (l_pBuffer); - MessageJudgmentSubmission_Destroy(message); - return NULL; - } - if (!BinaryBuffer_Get_Judgment (l_pBuffer, &message->pJudgment)) - { - BinaryBuffer_Destroy (l_pBuffer); - MessageJudgmentSubmission_Destroy(message); - return NULL; - } - - BinaryBuffer_Destroy (l_pBuffer); - - return message; -} - -SO_PUBLIC bool -JudgmentQueue_Put (struct Queue *queue, struct MessageJudgmentSubmission * p_pMessage) -{ - ASSERT (p_pMessage != NULL); - - struct BinaryBuffer *l_pBuffer; - - if ((l_pBuffer = - BinaryBuffer_Create (p_pMessage->mhHeader.iLength)) == NULL) - return false; - - - if (!BinaryBuffer_Put_MessageHeader (l_pBuffer, &p_pMessage->mhHeader)) - { - BinaryBuffer_Destroy (l_pBuffer); - return false; - } - - if (!BinaryBuffer_Put_uint8_t (l_pBuffer, p_pMessage->iReason)) - { - BinaryBuffer_Destroy (l_pBuffer); - return false; - } - if (!BinaryBuffer_Put_Judgment (l_pBuffer, p_pMessage->pJudgment)) - { - BinaryBuffer_Destroy (l_pBuffer); - return false; - } - - - // put in the queue - if (!Queue_Put (queue, l_pBuffer)) - { - BinaryBuffer_Destroy (l_pBuffer); - return false; - } - - BinaryBuffer_Destroy (l_pBuffer); - - // done - return true; -} Modified: api/branches/messaging-0.3/src/log.c =================================================================== --- api/branches/messaging-0.3/src/log.c 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/src/log.c 2011-11-07 18:33:53 UTC (rev 2788) @@ -7,7 +7,6 @@ #include <razorback/log.h> #include <razorback/queue.h> -#include <razorback/log_queue.h> #include <razorback/thread.h> #include <razorback/messages.h> #include "runtime_config.h" Deleted: api/branches/messaging-0.3/src/log_queue.c =================================================================== --- api/branches/messaging-0.3/src/log_queue.c 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/src/log_queue.c 2011-11-07 18:33:53 UTC (rev 2788) @@ -1,207 +0,0 @@ -#include "config.h" -#include <razorback/debug.h> -#include <razorback/queue.h> -#include <razorback/queue_list.h> -#include <razorback/request_queue.h> -#include <razorback/log.h> -#include <errno.h> -#include "binary_buffer.h" - -/** Globals -*/ -static struct Queue *sg_pLogQueue; - -static void -LogQueue_GetQueueName (uint8_t * p_sQueueName) -{ - sprintf ((char *) p_sQueueName, "/queue/LOG"); -} - -SO_PUBLIC bool -LogQueue_Initialize (int p_iFlags) -{ - // the name - uint8_t l_sQueueName[128]; - - // transform to correct name - LogQueue_GetQueueName (l_sQueueName); - // initialize the queue - if ((sg_pLogQueue = Queue_Create - (l_sQueueName, p_iFlags)) == NULL) - return false; - - return true; -} - -SO_PUBLIC void -LogQueue_Terminate (void) -{ - Queue_Terminate (sg_pLogQueue); -} - -SO_PUBLIC struct MessageLogSubmission * -LogQueue_Get (void) -{ - struct MessageLogSubmission *message; - struct BinaryBuffer *l_pBuffer; - uint8_t l_iHas = 0; - - // read from the queue - if ((l_pBuffer = Queue_Get (sg_pLogQueue)) == NULL) - { - if (errno != EINTR) - rzb_log (LOG_ERR, "%s: failed due to failure of Queue_Get", __func__); - return NULL; - } - if ((message = calloc(1,sizeof(struct MessageLogSubmission))) == NULL) - return NULL; - - // parse the data - if (!BinaryBuffer_Get_MessageHeader (l_pBuffer, &message->mhHeader)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of BinaryBuffer_Get_MessageHeader", __func__); - MessageLog_Destroy(message); - return NULL; - } - if (!BinaryBuffer_Get_UUID (l_pBuffer, message->uuidNuggetId)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of BinaryBuffer_Get_UUID", __func__); - MessageLog_Destroy(message); - return NULL; - } - if (!BinaryBuffer_Get_uint8_t (l_pBuffer, &message->iPriority)) - { - rzb_log (LOG_ERR, - "%s: failed due failure of BinaryBuffer_Get_uint8_t", __func__); - BinaryBuffer_Destroy (l_pBuffer); - MessageLog_Destroy(message); - return NULL; - } - if (!BinaryBuffer_Get_uint8_t (l_pBuffer, &l_iHas)) - { - rzb_log (LOG_ERR, - "%s: failed due failure of BinaryBuffer_Get_uint8_t", __func__); - BinaryBuffer_Destroy (l_pBuffer); - MessageLog_Destroy(message); - return NULL; - } - - if (l_iHas == 1) - { - if (!BinaryBuffer_Get_EventId (l_pBuffer, &message->pEventId)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of BinaryBuffer_Get_EventId", __func__); - MessageLog_Destroy(message); - return NULL; - } - } - else - message->pEventId = NULL; - - if ((message->sMessage = BinaryBuffer_Get_String(l_pBuffer)) == NULL) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of BinaryBuffer_Get_String", __func__); - MessageLog_Destroy(message); - return NULL; - } - - BinaryBuffer_Destroy (l_pBuffer); - - // done - return message; -} - -SO_PUBLIC bool -LogQueue_Put (struct MessageLogSubmission * p_pMessage) -{ - ASSERT (p_pMessage != NULL); - - // temporary variables - struct BinaryBuffer *l_pBuffer; - - // create the buffer - if ((l_pBuffer = - BinaryBuffer_Create (p_pMessage->mhHeader.iLength)) == NULL) - { - rzb_log (LOG_ERR, - "%s: failed due to failure of LogQueue_Put", __func__); - return false; - } - - if (!BinaryBuffer_Put_MessageHeader (l_pBuffer, &p_pMessage->mhHeader)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of BinaryBuffer_Put_MessageHeader", __func__); - return false; - } - - if (!BinaryBuffer_Put_UUID (l_pBuffer, p_pMessage->uuidNuggetId)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of BinaryBuffer_Put_UUID", __func__); - return false; - } - if (!BinaryBuffer_Put_uint8_t (l_pBuffer, p_pMessage->iPriority)) - { - rzb_log (LOG_ERR, - "%s: failed due failure of BinaryBuffer_Put_uint8_t", __func__); - return false; - } - - if (p_pMessage->pEventId == NULL) - { - if (!BinaryBuffer_Put_uint8_t (l_pBuffer, 0)) - { - rzb_log (LOG_ERR, - "%s: failed due failure of BinaryBuffer_Put_uint8_t", __func__); - return false; - } - } - else - { - if (!BinaryBuffer_Put_uint8_t (l_pBuffer, 1)) - { - rzb_log (LOG_ERR, - "%s: failed due failure of BinaryBuffer_Put_uint8_t", __func__); - return false; - } - if (!BinaryBuffer_Put_EventId (l_pBuffer, p_pMessage->pEventId)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of BinaryBuffer_Put_BlockId", __func__); - return false; - } - } - if (!BinaryBuffer_Put_String (l_pBuffer, p_pMessage->sMessage)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of BinaryBuffer_Put_String", __func__); - return false; - } - - // put in the queue - if (!Queue_Put (sg_pLogQueue, l_pBuffer)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of Queue_Put", __func__); - return false; - } - - BinaryBuffer_Destroy (l_pBuffer); - - // done - return true; -} Modified: api/branches/messaging-0.3/src/messages/block_submit.c =================================================================== --- api/branches/messaging-0.3/src/messages/block_submit.c 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/src/messages/block_submit.c 2011-11-07 18:33:53 UTC (rev 2788) @@ -73,7 +73,20 @@ submit = message->message; + if (!BinaryBuffer_Get_uint32_t (buffer, &submit->iReason)) + { + buffer->pBuffer = NULL; + BinaryBuffer_Destroy (buffer); + return NULL; + } + if (!BinaryBuffer_Get_Event (buffer, &submit->pEvent)) + { + buffer->pBuffer = NULL; + BinaryBuffer_Destroy (buffer); + return NULL; + } + return true; } @@ -113,12 +126,26 @@ submit = message->message; - message->length = sizeof(uuid_t) * 2; + message->length = Event_BinaryLength (submit->pEvent) + + sizeof(uint8_t) + // XXX: Whats this bad boy? + (uint32_t) sizeof (submit->iReason); if ((buffer = BinaryBuffer_Create(message->length)) == NULL) return false; + if (!BinaryBuffer_Put_uint32_t (buffer, submit->iReason)) + { + BinaryBuffer_Destroy (buffer); + return false; + } + if (!BinaryBuffer_Put_Event (buffer, submit->pEvent)) + { + BinaryBuffer_Destroy (buffer); + return false; + } + + message->serialized = buffer->pBuffer; buffer->pBuffer = NULL; BinaryBuffer_Destroy(buffer); Modified: api/branches/messaging-0.3/src/messages/cache_req.c =================================================================== --- api/branches/messaging-0.3/src/messages/cache_req.c 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/src/messages/cache_req.c 2011-11-07 18:33:53 UTC (rev 2788) @@ -80,6 +80,22 @@ submit = message->message; + if (!BinaryBuffer_Get_UUID (buffer, submit->uuidRequestor)) + { + buffer->pBuffer = NULL; + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_Get_UUID", __func__); + return false; + } + if (!BinaryBuffer_Get_BlockId (buffer, &submit->pId)) + { + buffer->pBuffer = NULL; + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_GetBlockId", __func__); + return false; + } return true; } @@ -120,12 +136,28 @@ submit = message->message; - message->length = sizeof(uuid_t) * 2; + message->length = (uint32_t) sizeof (submit->uuidRequestor) + + BlockId_BinaryLength (submit->pId); if ((buffer = BinaryBuffer_Create(message->length)) == NULL) return false; + if (!BinaryBuffer_Put_UUID (buffer, submit->uuidRequestor)) + { + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_Put_UUID", __func__); + return false; + } + if (!BinaryBuffer_Put_BlockId (buffer, submit->pId)) + { + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_Put_BlockId", __func__); + return false; + } + message->serialized = buffer->pBuffer; buffer->pBuffer = NULL; BinaryBuffer_Destroy(buffer); Modified: api/branches/messaging-0.3/src/messages/cache_resp.c =================================================================== --- api/branches/messaging-0.3/src/messages/cache_resp.c 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/src/messages/cache_resp.c 2011-11-07 18:33:53 UTC (rev 2788) @@ -81,7 +81,31 @@ submit = message->message; + if (!BinaryBuffer_Get_BlockId (buffer, &submit->pId)) + { + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_Get_BlockId", __func__); + return false; + } + if (!BinaryBuffer_Get_uint32_t (buffer, &submit->iSfFlags)) + { + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_Get_uint32_t", __func__); + return false; + } + if (!BinaryBuffer_Get_uint32_t (buffer, &submit->iEntFlags)) + { + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + + "%s: failed due to failure of BinaryBuffer_Get_uint32_t", __func__); + return false; + } + + return true; } @@ -121,11 +145,33 @@ submit = message->message; - message->length = sizeof(uuid_t) * 2; + message->length = BlockId_BinaryLength (submit->pId) + + (sizeof(uint32_t)*2); if ((buffer = BinaryBuffer_Create(message->length)) == NULL) return false; + if (!BinaryBuffer_Put_BlockId (buffer, submit->pId)) + { + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_Put_BlockId", __func__); + return false; + } + if (!BinaryBuffer_Put_uint32_t (buffer, submit->iSfFlags)) + { + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_Put_uint32_t", __func__); + return false; + } + if (!BinaryBuffer_Put_uint32_t (buffer, submit->iEntFlags)) + { + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_Put_uint32_t", __func__); + return false; + } message->serialized = buffer->pBuffer; buffer->pBuffer = NULL; Modified: api/branches/messaging-0.3/src/messages/inspection.c =================================================================== --- api/branches/messaging-0.3/src/messages/inspection.c 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/src/messages/inspection.c 2011-11-07 18:33:53 UTC (rev 2788) @@ -99,7 +99,33 @@ submit = message->message; + if (!BinaryBuffer_Get_uint32_t (buffer, &submit->iReason)) + { + buffer->pBuffer = NULL; + BinaryBuffer_Destroy (buffer); + return NULL; + } + if (!BinaryBuffer_Get_EventId (buffer, &submit->eventId)) + { + buffer->pBuffer = NULL; + BinaryBuffer_Destroy (buffer); + return NULL; + } + if (!BinaryBuffer_Get_NTLVList (buffer, &submit->pEventMetadata)) + { + buffer->pBuffer = NULL; + BinaryBuffer_Destroy (buffer); + return NULL; + } + + if (!BinaryBuffer_Get_Block (buffer, &submit->pBlock)) + { + buffer->pBuffer = NULL; + BinaryBuffer_Destroy (buffer); + return NULL; + } + return true; } @@ -139,12 +165,36 @@ submit = message->message; - message->length = sizeof(uuid_t) * 2; + message->length = Block_BinaryLength (submit->pBlock) + + NTLVList_Size (submit->pEventMetadata) + + sizeof(struct EventId) + //Source nugget ID + (uint32_t) sizeof (submit->iReason); if ((buffer = BinaryBuffer_Create(message->length)) == NULL) return false; + if (!BinaryBuffer_Put_uint32_t (buffer, submit->iReason)) + { + BinaryBuffer_Destroy (buffer); + return false; + } + if (!BinaryBuffer_Put_EventId (buffer, submit->eventId)) + { + BinaryBuffer_Destroy (buffer); + return false; + } + if (!BinaryBuffer_Put_NTLVList (buffer, submit->pEventMetadata)) + { + BinaryBuffer_Destroy (buffer); + return false; + } + if (!BinaryBuffer_Put_Block (buffer, submit->pBlock)) + { + BinaryBuffer_Destroy (buffer); + return false; + } + message->serialized = buffer->pBuffer; buffer->pBuffer = NULL; BinaryBuffer_Destroy(buffer); Modified: api/branches/messaging-0.3/src/messages/judgment.c =================================================================== --- api/branches/messaging-0.3/src/messages/judgment.c 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/src/messages/judgment.c 2011-11-07 18:33:53 UTC (rev 2788) @@ -72,6 +72,18 @@ submit = message->message; + if (!BinaryBuffer_Get_uint8_t (buffer, &submit->iReason)) + { + buffer->pBuffer = NULL; + BinaryBuffer_Destroy (buffer); + return NULL; + } + if (!BinaryBuffer_Get_Judgment (buffer, &submit->pJudgment)) + { + buffer->pBuffer = NULL; + BinaryBuffer_Destroy (buffer); + return NULL; + } return true; } @@ -112,11 +124,22 @@ submit = message->message; - message->length = sizeof(uuid_t) * 2; + message->length = (uint32_t) sizeof (submit->iReason) + + Judgment_BinaryLength(submit->pJudgment); if ((buffer = BinaryBuffer_Create(message->length)) == NULL) return false; + if (!BinaryBuffer_Put_uint8_t (buffer, submit->iReason)) + { + BinaryBuffer_Destroy (buffer); + return false; + } + if (!BinaryBuffer_Put_Judgment (buffer, submit->pJudgment)) + { + BinaryBuffer_Destroy (buffer); + return false; + } message->serialized = buffer->pBuffer; buffer->pBuffer = NULL; Modified: api/branches/messaging-0.3/src/messages/log.c =================================================================== --- api/branches/messaging-0.3/src/messages/log.c 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/src/messages/log.c 2011-11-07 18:33:53 UTC (rev 2788) @@ -8,6 +8,8 @@ #include "messages/core.h" #include "binary_buffer.h" +#include <string.h> + static void Log_Destroy (struct Message *msg); static bool Log_Deserialize_Binary(struct Message *message); static bool Log_Deserialize(struct Message *message, int mode); @@ -72,7 +74,8 @@ Log_Deserialize_Binary(struct Message *message) { struct BinaryBuffer *buffer; - struct MessageLog *submit; + struct MessageLogSubmission *submit; + uint8_t l_iHas = 0; ASSERT(message != NULL); if (message == NULL) @@ -83,7 +86,54 @@ submit = message->message; + if (!BinaryBuffer_Get_UUID (buffer, submit->uuidNuggetId)) + { + buffer->pBuffer = NULL; + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_Get_UUID", __func__); + return NULL; + } + if (!BinaryBuffer_Get_uint8_t (buffer, &submit->iPriority)) + { + buffer->pBuffer = NULL; + rzb_log (LOG_ERR, + "%s: failed due failure of BinaryBuffer_Get_uint8_t", __func__); + BinaryBuffer_Destroy (buffer); + return NULL; + } + if (!BinaryBuffer_Get_uint8_t (buffer, &l_iHas)) + { + buffer->pBuffer = NULL; + rzb_log (LOG_ERR, + "%s: failed due failure of BinaryBuffer_Get_uint8_t", __func__); + BinaryBuffer_Destroy (buffer); + return NULL; + } + if (l_iHas == 1) + { + if (!BinaryBuffer_Get_EventId (buffer, &submit->pEventId)) + { + buffer->pBuffer = NULL; + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_Get_EventId", __func__); + return NULL; + } + } + else + submit->pEventId = NULL; + + if ((submit->sMessage = BinaryBuffer_Get_String(buffer)) == NULL) + { + buffer->pBuffer = NULL; + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_Get_String", __func__); + return NULL; + } + return true; } @@ -123,12 +173,65 @@ submit = message->message; - message->length = sizeof(uuid_t) * 2; + message->length = (uint32_t) sizeof (submit->iPriority) + + (uint32_t) sizeof (submit->uuidNuggetId) + + strlen((char *)submit->sMessage) +1 + + sizeof(uint8_t); // The event id flag. + if (submit->pEventId != NULL) + message->length += sizeof(struct EventId); + + if ((buffer = BinaryBuffer_Create(message->length)) == NULL) return false; + if (!BinaryBuffer_Put_UUID (buffer, submit->uuidNuggetId)) + { + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_Put_UUID", __func__); + return false; + } + if (!BinaryBuffer_Put_uint8_t (buffer, submit->iPriority)) + { + rzb_log (LOG_ERR, + "%s: failed due failure of BinaryBuffer_Put_uint8_t", __func__); + return false; + } + if (submit->pEventId == NULL) + { + if (!BinaryBuffer_Put_uint8_t (buffer, 0)) + { + rzb_log (LOG_ERR, + "%s: failed due failure of BinaryBuffer_Put_uint8_t", __func__); + return false; + } + } + else + { + if (!BinaryBuffer_Put_uint8_t (buffer, 1)) + { + rzb_log (LOG_ERR, + "%s: failed due failure of BinaryBuffer_Put_uint8_t", __func__); + return false; + } + if (!BinaryBuffer_Put_EventId (buffer, submit->pEventId)) + { + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_Put_BlockId", __func__); + return false; + } + } + if (!BinaryBuffer_Put_String (buffer, submit->sMessage)) + { + BinaryBuffer_Destroy (buffer); + rzb_log (LOG_ERR, + "%s: failed due to failure of BinaryBuffer_Put_String", __func__); + return false; + } + message->serialized = buffer->pBuffer; buffer->pBuffer = NULL; BinaryBuffer_Destroy(buffer); Deleted: api/branches/messaging-0.3/src/request_queue.c =================================================================== --- api/branches/messaging-0.3/src/request_queue.c 2011-11-07 16:57:05 UTC (rev 2787) +++ api/branches/messaging-0.3/src/request_queue.c 2011-11-07 18:33:53 UTC (rev 2788) @@ -1,138 +0,0 @@ -#include "config.h" -#include <razorback/debug.h> -#include <razorback/queue.h> -#include <razorback/queue_list.h> -#include <razorback/request_queue.h> -#include <razorback/log.h> -#include <errno.h> -#include "binary_buffer.h" - - -static void -RequestQueue_GetQueueName (uint8_t * p_sQueueName) -{ - sprintf ((char *) p_sQueueName, "/queue/REQUEST"); -} - -SO_PUBLIC struct Queue * -RequestQueue_Initialize (int p_iFlags) -{ - // the name - uint8_t l_sQueueName[128]; - // transform to correct name - RequestQueue_GetQueueName (l_sQueueName); - // initialize the queue - return Queue_Create(l_sQueueName, p_iFlags); -} - -SO_PUBLIC void -RequestQueue_Terminate (struct Queue * queue) -{ - Queue_Terminate (queue); -} - -SO_PUBLIC struct MessageCacheReq * -RequestQueue_Get (struct Queue *queue ) -{ - struct MessageCacheReq *message; - struct BinaryBuffer *l_pBuffer; - - - // read from the queue - if ((l_pBuffer = Queue_Get (queue)) == NULL) - { - if (errno != EINTR) - rzb_log (LOG_ERR, "%s: failed due to failure of Queue_Get", __func__); - - return NULL; - } - if ((message = calloc(1,sizeof(struct MessageCacheReq))) == NULL) - return NULL; - - // parse the data - if (!BinaryBuffer_Get_MessageHeader (l_pBuffer, &message->mhHeader)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of BinaryBuffer_Get_MessageHeader", __func__); - MessageCacheReq_Destroy(message); - return NULL; - } - if (!BinaryBuffer_Get_UUID (l_pBuffer, message->uuidRequestor)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of BinaryBuffer_Get_UUID", __func__); - MessageCacheReq_Destroy(message); - return NULL; - } - if (!BinaryBuffer_Get_BlockId (l_pBuffer, &message->pId)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of BinaryBuffer_GetBlockId", __func__); - MessageCacheReq_Destroy(message); - return NULL; - } - - BinaryBuffer_Destroy (l_pBuffer); - - // done - return message; -} - -SO_PUBLIC bool -RequestQueue_Put (struct Queue *queue, struct MessageCacheReq * p_pMessage) -{ - ASSERT (p_pMessage != NULL); - - // temporary variables - struct BinaryBuffer *l_pBuffer; - - // create the buffer - if ((l_pBuffer = - BinaryBuffer_Create (p_pMessage->mhHeader.iLength)) == NULL) - { - rzb_log (LOG_ERR, - "%s: failed due to failure of RequestQueue_Put", __func__); - return false; - } - - if (!BinaryBuffer_Put_MessageHeader (l_pBuffer, &p_pMessage->mhHeader)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of BinaryBuffer_Put_MessageHeader", __func__); - return false; - } - - if (!BinaryBuffer_Put_UUID (l_pBuffer, p_pMessage->uuidRequestor)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of BinaryBuffer_Put_UUID", __func__); - return false; - } - - if (!BinaryBuffer_Put_BlockId (l_pBuffer, p_pMessage->pId)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of BinaryBuffer_Put_BlockId", __func__); - return false; - } - - // put in the queue - if (!Queue_Put (queue, l_pBuffer)) - { - BinaryBuffer_Destroy (l_pBuffer); - rzb_log (LOG_ERR, - "%s: failed due to failure of Queue_Put", __func__); - return false; - } - - BinaryBuffer_Destroy (l_pBuffer); - - // done - return true; -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |