Difference between revisions of "Truxton route message"

From truxwiki.com
Jump to navigation Jump to search
 
(5 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
=Syntax=
 
=Syntax=
<syntaxhighlight lang="C">
+
<source lang="C">
void truxton_route_message( uint64_t trutxon_handle, uint64_t message_handle );
+
void truxton_route_message( uint64_t truxton_handle, uint64_t message_handle );
</syntaxhighlight>
+
</source>
  
 
=Parameters=
 
=Parameters=
Line 14: Line 14:
  
 
=Sample=
 
=Sample=
<syntaxhighlight lang="C" highlight="23">
+
<source lang="C" highlight="34">
void reroute_file(uint64_t file)
+
void reroute_file_to_my_custom_route( uint64_t file )
 
{
 
{
 
   uint64_t message = truxton_message_create();
 
   uint64_t message = truxton_message_create();
Line 23: Line 23:
  
 
   // Now populate the message with this file's data
 
   // Now populate the message with this file's data
   char temp_string[ 65 ];
+
   char temp_string[ MAX_PATH ];
  
 
   truxton_file_get_media_id( file, temp_string, sizeof( temp_string ) );
 
   truxton_file_get_media_id( file, temp_string, sizeof( temp_string ) );
Line 36: Line 36:
 
   truxton_file_get_depot_id( file, temp_string, sizeof( temp_string ) );
 
   truxton_file_get_depot_id( file, temp_string, sizeof( temp_string ) );
 
   truxton_message_set_depot_id( message, temp_string );
 
   truxton_message_set_depot_id( message, temp_string );
 +
 +
  truxton_file_get_depot_name( file, temp_string, sizeof( temp_string ) );
 +
  truxton_message_set_depot_filename( message, temp_string );
  
 
   truxton_file_get_hash( file, temp_string, sizeof( temp_string ) );
 
   truxton_file_get_hash( file, temp_string, sizeof( temp_string ) );
 
   truxton_message_set_hash( message, temp_string );
 
   truxton_message_set_hash( message, temp_string );
  
 
+
  truxton_message_set_depot_offset( message, file_get_depot_offset( file ) );
 +
  truxton_message_set_depot_length( message, file_get_depot_length( file ) );
 +
  truxton_message_set_signature( message, file_get_signature( file ) );
 +
  truxton_message_set_file_type( message, file_get_type( file ) );
  
 
   truxton_message_set_route_id( message, MY_CUSTOM_ROUTE );
 
   truxton_message_set_route_id( message, MY_CUSTOM_ROUTE );
Line 47: Line 53:
 
   truxton_message_destroy( message );
 
   truxton_message_destroy( message );
 
}
 
}
</syntaxhighlight>
+
</source>

Latest revision as of 16:53, 20 May 2021

This sends the message to all ETL processes that have subscribed to it base on the message's route.

Syntax

void truxton_route_message( uint64_t truxton_handle, uint64_t message_handle );

Parameters

truxton_handle

The handle created by the truxton_create call.

message_handle

The handle created by the truxton_message_create call.

Sample

void reroute_file_to_my_custom_route( uint64_t file )
{
   uint64_t message = truxton_message_create();
   uint64_t truxton = truxton_file_get_truxton( file );

   truxton_message_set_truxton( message, truxton );

   // Now populate the message with this file's data
   char temp_string[ MAX_PATH ];

   truxton_file_get_media_id( file, temp_string, sizeof( temp_string ) );
   truxton_message_set_media_id( message, temp_string );

   truxton_file_get_id( file, temp_string, sizeof( temp_string ) );
   truxton_message_set_file_id( message, temp_string );

   truxton_file_get_parent_id( file, temp_string, sizeof( temp_string ) );
   truxton_message_set_parent_file_id( message, temp_string );

   truxton_file_get_depot_id( file, temp_string, sizeof( temp_string ) );
   truxton_message_set_depot_id( message, temp_string );

   truxton_file_get_depot_name( file, temp_string, sizeof( temp_string ) );
   truxton_message_set_depot_filename( message, temp_string );

   truxton_file_get_hash( file, temp_string, sizeof( temp_string ) );
   truxton_message_set_hash( message, temp_string );

   truxton_message_set_depot_offset( message, file_get_depot_offset( file ) );
   truxton_message_set_depot_length( message, file_get_depot_length( file ) );
   truxton_message_set_signature( message, file_get_signature( file ) );
   truxton_message_set_file_type( message, file_get_type( file ) );

   truxton_message_set_route_id( message, MY_CUSTOM_ROUTE );
   truxton_route_message( truxton, message );

   truxton_message_destroy( message );
}