SQS interface functions


Functions

int sqs_create_queue (IOBuf *b, char *const name)
 Create SQS queue.
int sqs_list_queues (IOBuf *b, char *const prefix)
 Retrieve URL of the queue.
int sqs_get_queueattributes (IOBuf *b, char *url, int *timeOut, int *nMesg)
 Retrieve queue attributes.
int sqs_set_queuevisibilitytimeout (IOBuf *b, char *url, int sec)
 Set queue visibility timeout.
int sqs_send_message (IOBuf *b, char *const url, char *const msg)
 Send a message to the queue.
int sqs_get_message (IOBuf *b, char *const url, char *id)
 Retrieve a message from the queue.
int sqs_delete_message (IOBuf *bf, char *const url, char *receipt)
 Delete processed message from the queue.

Function Documentation

int sqs_create_queue ( IOBuf b,
char *const   name 
)

Create SQS queue.

Parameters:
b I/O buffer
name queue name
Returns:
on success return 0, otherwise error code

Definition at line 664 of file aws4c.c.

References __aws_get_iso_date(), __debug(), awsKeyID, SQS_REQ_TAIL, SQSRequest(), and SQSSign().

Referenced by main().

int sqs_delete_message ( IOBuf bf,
char *const   url,
char *  receipt 
)

Delete processed message from the queue.

Parameters:
bf I/O buffer
url queue url. Use sqs_list_queues to retrieve
receipt Message receipt handle.
Returns:
on success return 0, otherwise error code

Definition at line 1037 of file aws4c.c.

References __aws_get_iso_date(), __aws_urlencode(), awsKeyID, SQS_REQ_TAIL, SQSRequest(), and SQSSign().

Referenced by main().

int sqs_get_message ( IOBuf b,
char *const   url,
char *  id 
)

Retrieve a message from the queue.

Parameters:
b I/O buffer
url queue url. Use sqs_list_queues to retrieve
id Message receipt handle.
Returns:
on success return 0, otherwise error code
Message contents are placed into I/O buffer Caller has to allocate enough memory for the receipt handle 1024 bytes should be enough

Todo:
This is really bad. Must get a real message parser

Handle a body already being processed..

Definition at line 943 of file aws4c.c.

References __aws_get_iso_date(), __debug(), aws_iobuf_append(), aws_iobuf_free(), aws_iobuf_getline(), aws_iobuf_new(), awsKeyID, IOBuf::code, IOBuf::result, SQS_REQ_TAIL, SQSRequest(), and SQSSign().

Referenced by main().

int sqs_get_queueattributes ( IOBuf b,
char *  url,
int *  timeOut,
int *  nMesg 
)

Retrieve queue attributes.

Parameters:
b I/O buffer
url queue url. Use sqs_list_queues to retrieve
timeOut queue visibility timeout
nMesg approximate number of messages in the queue
Returns:
on success return 0, otherwise error code

Definition at line 785 of file aws4c.c.

References __aws_get_iso_date(), __debug(), aws_iobuf_getline(), awsKeyID, SQS_REQ_TAIL, SQSRequest(), and SQSSign().

Referenced by main().

int sqs_list_queues ( IOBuf b,
char *const   prefix 
)

Retrieve URL of the queue.

Parameters:
b I/O buffer
prefix queue prefix. better use the whole name
Returns:
on success return 0, otherwise error code
URL is placed into the I/O buffer. User get_line to retrieve it

Todo:
This only retrieves just one line in the string.. make that all URLs are returned

Parse Out the List Of Queues

Definition at line 708 of file aws4c.c.

References __aws_get_iso_date(), __debug(), aws_iobuf_append(), aws_iobuf_free(), aws_iobuf_getline(), aws_iobuf_new(), awsKeyID, IOBuf::code, IOBuf::result, SQS_REQ_TAIL, SQSRequest(), and SQSSign().

Referenced by main().

int sqs_send_message ( IOBuf b,
char *const   url,
char *const   msg 
)

Send a message to the queue.

Parameters:
b I/O buffer
url queue url. Use sqs_list_queues to retrieve
msg a message to send
Returns:
on success return 0, otherwise error code

Definition at line 889 of file aws4c.c.

References __aws_get_iso_date(), __aws_urlencode(), __debug(), awsKeyID, SQS_REQ_TAIL, SQSRequest(), and SQSSign().

Referenced by main().

int sqs_set_queuevisibilitytimeout ( IOBuf b,
char *  url,
int  sec 
)

Set queue visibility timeout.

Parameters:
b I/O buffer
url queue url. Use sqs_list_queues to retrieve
sec queue visibility timeout
Returns:
on success return 0, otherwise error code

Definition at line 845 of file aws4c.c.

References __aws_get_iso_date(), __debug(), awsKeyID, SQS_REQ_TAIL, SQSRequest(), and SQSSign().

Referenced by main().


Generated by Doxygen