Difference between revisions of "Truxton etl set expander identifier"

From truxwiki.com
Jump to navigation Jump to search
 
Line 1: Line 1:
 
This is an arbitrary value you choose to uniquely identify your ETL process.
 
This is an arbitrary value you choose to uniquely identify your ETL process.
 
This should be a fixed value that you never change.
 
This should be a fixed value that you never change.
It will be written to the <code>Expander</code> column of the <code>[[ExpandedFile Table | ExpandedFile]]</code> table.
+
It will be written to the <code>[Expander]</code> column of the <code><nowiki>[</nowiki>[[ExpandedFile Table|ExpandedFile]]<nowiki>]</nowiki></code> table.
  
 
=Syntax=
 
=Syntax=
<syntaxhighlight lang="C">
+
<source lang="C">
 
void etl_set_expander_identifier( uint64_t handle, uint64_t application_id );
 
void etl_set_expander_identifier( uint64_t handle, uint64_t application_id );
</syntaxhighlight>
+
</source>
  
 
=Parameters=
 
=Parameters=
 
==<code>etl_handle</code>==
 
==<code>etl_handle</code>==
 
 
The handle created by the [[truxton_etl_create]] call.
 
The handle created by the [[truxton_etl_create]] call.
  
Line 17: Line 16:
  
 
=Sample=
 
=Sample=
<syntaxhighlight lang="C" highlight="15">
+
<source lang="C" highlight="13">
 
#include <TruxtonCAPI.h>
 
#include <TruxtonCAPI.h>
  
Line 23: Line 22:
 
{
 
{
 
     char file_id[ 65 ];
 
     char file_id[ 65 ];
 
    int exit_loop = 0;
 
  
 
     uint64_t message = 0;
 
     uint64_t message = 0;
Line 34: Line 31:
 
     truxton_etl_set_expander_identifier( app, 0x05FC0BF6A57726A0 );
 
     truxton_etl_set_expander_identifier( app, 0x05FC0BF6A57726A0 );
  
     while( exit_loop == 0 )
+
    // Pause here until we get a message from the "SampleC" message queue
 +
    message = truxton_etl_get_message( app );
 +
 
 +
     while( message != 0 )
 
     {
 
     {
         message = truxton_etl_get_message( app );
+
         // Do something with the message
  
         if ( message != 0 )
+
         memset( file_id, 0x00, sizeof( file_id ) );
         {
+
         truxton_message_get_file_id( message, file_id, sizeof( file_id ) );
            // Do something with the message
 
  
            memset( file_id, 0x00, sizeof( file_id ) );
+
        printf( "Received file id %s\n", 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 );
  
            truxton_message_destroy( message );
+
        // Pause here until we get another message from the "SampleC" message queue
         }
+
         message = truxton_etl_get_message( app );
        else
 
        {
 
            exit_loop = 1;
 
        }
 
 
     }
 
     }
  
 
     truxton_etl_destroy( app );
 
     truxton_etl_destroy( app );
 
}
 
}
</syntaxhighlight>
+
</source>

Latest revision as of 03:49, 5 December 2020

This is an arbitrary value you choose to uniquely identify your ETL process. This should be a fixed value that you never change. It will be written to the [Expander] column of the [ExpandedFile] table.

Syntax

void etl_set_expander_identifier( uint64_t handle, uint64_t application_id );

Parameters

etl_handle

The handle created by the truxton_etl_create call.

application_id

A unique (usually random) value that permanently identifies your ETL process.

Sample

#include <TruxtonCAPI.h>

void main( void )
{
    char file_id[ 65 ];

    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_expander_identifier( app, 0x05FC0BF6A57726A0 );

    // 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 );
}