1*3c7ae9deSAndroid Build Coastguard Worker #ifndef CRT_EVENT_STREAM_MESSAGE_H 2*3c7ae9deSAndroid Build Coastguard Worker #define CRT_EVENT_STREAM_MESSAGE_H 3*3c7ae9deSAndroid Build Coastguard Worker /** 4*3c7ae9deSAndroid Build Coastguard Worker * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 5*3c7ae9deSAndroid Build Coastguard Worker * SPDX-License-Identifier: Apache-2.0. 6*3c7ae9deSAndroid Build Coastguard Worker */ 7*3c7ae9deSAndroid Build Coastguard Worker #include <jni.h> 8*3c7ae9deSAndroid Build Coastguard Worker 9*3c7ae9deSAndroid Build Coastguard Worker #include <aws/common/byte_buf.h> 10*3c7ae9deSAndroid Build Coastguard Worker #include <aws/event-stream/event_stream_rpc.h> 11*3c7ae9deSAndroid Build Coastguard Worker 12*3c7ae9deSAndroid Build Coastguard Worker struct aws_event_stream_rpc_marshalled_message { 13*3c7ae9deSAndroid Build Coastguard Worker struct aws_allocator *allocator; 14*3c7ae9deSAndroid Build Coastguard Worker bool headers_init; 15*3c7ae9deSAndroid Build Coastguard Worker struct aws_array_list headers_list; 16*3c7ae9deSAndroid Build Coastguard Worker struct aws_byte_buf headers_buf; 17*3c7ae9deSAndroid Build Coastguard Worker struct aws_byte_buf payload_buf; 18*3c7ae9deSAndroid Build Coastguard Worker struct aws_byte_buf operation_buf; 19*3c7ae9deSAndroid Build Coastguard Worker struct aws_event_stream_rpc_message_args message_args; 20*3c7ae9deSAndroid Build Coastguard Worker }; 21*3c7ae9deSAndroid Build Coastguard Worker 22*3c7ae9deSAndroid Build Coastguard Worker int aws_event_stream_rpc_marshall_message_args_init( 23*3c7ae9deSAndroid Build Coastguard Worker struct aws_event_stream_rpc_marshalled_message *message_args, 24*3c7ae9deSAndroid Build Coastguard Worker struct aws_allocator *allocator, 25*3c7ae9deSAndroid Build Coastguard Worker JNIEnv *env, 26*3c7ae9deSAndroid Build Coastguard Worker jbyteArray headers, 27*3c7ae9deSAndroid Build Coastguard Worker jbyteArray payload, 28*3c7ae9deSAndroid Build Coastguard Worker jbyteArray operation, 29*3c7ae9deSAndroid Build Coastguard Worker jint message_flags, 30*3c7ae9deSAndroid Build Coastguard Worker jint message_type); 31*3c7ae9deSAndroid Build Coastguard Worker 32*3c7ae9deSAndroid Build Coastguard Worker void aws_event_stream_rpc_marshall_message_args_clean_up(struct aws_event_stream_rpc_marshalled_message *message_args); 33*3c7ae9deSAndroid Build Coastguard Worker 34*3c7ae9deSAndroid Build Coastguard Worker jbyteArray aws_event_stream_rpc_marshall_headers_to_byteArray( 35*3c7ae9deSAndroid Build Coastguard Worker struct aws_allocator *allocator, 36*3c7ae9deSAndroid Build Coastguard Worker JNIEnv *env, 37*3c7ae9deSAndroid Build Coastguard Worker struct aws_event_stream_header_value_pair *pair, 38*3c7ae9deSAndroid Build Coastguard Worker size_t length); 39*3c7ae9deSAndroid Build Coastguard Worker 40*3c7ae9deSAndroid Build Coastguard Worker #endif /* CRT_EVENT_STREAM_MESSAGE_H */ 41