Difference between revisions of "Truxton etl get message"

From truxwiki.com
Jump to navigation Jump to search
(Created page with "This function halts the execution of your process until a message arrives on your message queue. =Syntax= <syntaxhighlight lang="C"> uint64_t truxton_etl_get_message( uint64_...")
 
Line 10: Line 10:
  
 
The handle created by the [[truxton_etl_create]] call.
 
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=
 
=Sample=
  
<syntaxhighlight lang="C" highlight="18">
+
<syntaxhighlight lang="C" highlight="22">
 
#include <TruxtonCAPI.h>
 
#include <TruxtonCAPI.h>
  
Line 53: Line 57:
 
         }
 
         }
 
     }
 
     }
 +
 +
    truxton_etl_destroy( app );
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 06:29, 26 May 2020

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 ];

    int exit_loop = 0;

    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_add_get_description( app, description, sizeof(description));

    while( exit_loop == 0 )
    {
        message = truxton_etl_get_message( app );

        if ( 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 );
        }
        else
        {
            exit_loop = 1;
        }
    }

    truxton_etl_destroy( app );
}