Difference between revisions of "Truxton etl get message"
Jump to navigation
Jump to search
(→Sample) |
|||
| (3 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
=Syntax= | =Syntax= | ||
| − | < | + | <source lang="C"> |
uint64_t truxton_etl_get_message( uint64_t etl_handle ); | uint64_t truxton_etl_get_message( uint64_t etl_handle ); | ||
| − | </ | + | </source> |
=Parameters= | =Parameters= | ||
| Line 15: | Line 15: | ||
=Sample= | =Sample= | ||
| − | < | + | <source lang="C" highlight="19,33"> |
#include <TruxtonCAPI.h> | #include <TruxtonCAPI.h> | ||
| Line 22: | Line 22: | ||
char file_id[ 65 ]; | char file_id[ 65 ]; | ||
char description[ 128 ]; | char description[ 128 ]; | ||
| − | |||
| − | |||
uint64_t message = 0; | uint64_t message = 0; | ||
| Line 32: | Line 30: | ||
truxton_etl_set_queue_name( app, "SampleC" ); | truxton_etl_set_queue_name( app, "SampleC" ); | ||
| − | truxton_etl_set_description( app, "A sample of how to write an ETL"); | + | truxton_etl_set_description( app, "A sample of how to write an ETL" ); |
| − | truxton_etl_get_description( app, description, sizeof(description)); | + | truxton_etl_get_description( app, description, sizeof(description) ); |
| − | while( | + | // Pause here until we get a message from the "SampleC" message queue |
| + | message = truxton_etl_get_message( app ); | ||
| + | |||
| + | while( message != 0 ) | ||
{ | { | ||
| − | message | + | // Do something with the message |
| − | + | memset( file_id, 0x00, sizeof( file_id ) ); | |
| − | + | truxton_message_get_file_id( message, file_id, sizeof( file_id ) ); | |
| − | |||
| − | + | printf( "Received file id %s\n", file_id ); | |
| − | |||
| − | + | truxton_message_destroy( message ); | |
| − | + | // Pause here until we get another message from the "SampleC" message queue | |
| − | + | message = truxton_etl_get_message( app ); | |
| − | |||
| − | |||
| − | |||
| − | |||
} | } | ||
| + | |||
truxton_etl_destroy( app ); | truxton_etl_destroy( app ); | ||
} | } | ||
| − | </ | + | </source> |
Latest revision as of 11:26, 10 February 2021
This function halts the execution of your process until a message arrives on your message queue.
Syntax
uint64_t truxton_etl_get_message( uint64_t etl_handle );
Parameters
etl_handle
The handle created by the truxton_etl_create call.
Return value
A non-zero message handle on success. If zero is returned, a problem has been encountered or your process has been told to shut down.
Sample
#include <TruxtonCAPI.h>
void main( void )
{
char file_id[ 65 ];
char description[ 128 ];
uint64_t message = 0;
uint64_t app = truxton_etl_create();
truxton_etl_set_application_name( app, "Sample C ETL" );
truxton_etl_set_stage_number( app, 42 );
truxton_etl_set_queue_name( app, "SampleC" );
truxton_etl_set_description( app, "A sample of how to write an ETL" );
truxton_etl_get_description( app, description, sizeof(description) );
// Pause here until we get a message from the "SampleC" message queue
message = truxton_etl_get_message( app );
while( message != 0 )
{
// Do something with the message
memset( file_id, 0x00, sizeof( file_id ) );
truxton_message_get_file_id( message, file_id, sizeof( file_id ) );
printf( "Received file id %s\n", file_id );
truxton_message_destroy( message );
// Pause here until we get another message from the "SampleC" message queue
message = truxton_etl_get_message( app );
}
truxton_etl_destroy( app );
}