This issue covers various findings on the current API design. An implementor(s) may group these findings into subtasks.
If possible rename bidi stream messages to: Platform(Inbound/Outbound)(Command/Query/Control)Instruction. Use instruction_id i.o. message_id.
common.proto
ErrorMessage -> rename location to source
FlowControl -> deprecate client_id
ErrorMessage -> introduce error_code as string
control.proto
ClientIdentification -> rename client_id to component_instance_id, rename component_name to component_id
SegmentStatus -> rename one_part_of to fraction
query.proto
QueryProviderInbound -> rename QueryRequest query parameter to query_request
QueryRequest -> rename message_identifier to message_id, rename client_id to component_instance_id, rename component_name to component_id
QueryComplete -> remove message_id
QueryResponse -> rename message_identifier to message_id, deprecate error_code (since it'll be part of ErrorMessage), check whether processing_instruction is needed
SubscriptionQuery -> rename subscription_identifier to message_id, introduce SerializedType message as a copy of SerializedObject where 3 is reserved
QueryUpdate -> rename message_identifier to message_id, rename client_id to component_instance_id and component_name to component_id
QueryUpdateComplete -> rename client_id to component_instance_id and component_name to component_id, rename it to QueryUpdateCompleted
QueryUpdateCompleteExceptionally -> rename client_id to component_instance_id and component_name to component_id, rename to QueryUpdateCompletedExceptionally, deprecate error_code
SubscriptionQueryRequest -> reconsider current design - some field types could be adjusted
SubscriptionQueryResponse -> remove message_identifier
QuerySubscription -> rename query to query_name, rename result_name to result_type, rename client_id to component_instance_id and component_name to component_id
command.proto
Command -> rename message_identifier to message_id, rename client_id to component_instance_id and component_name to component_id
CommandResponse -> rename message_identifier to message_id, remove error_code, rename request_identifier to request_id
CommandSubscription -> rename client_id to component_instance_id and component_name to component_id, remove message_id, rename command to command_name
event.proto
Confirmation -> introduce Append(Event/Snapshot)Result
TrackingToken -> rename token to position
EventWithToken -> rename token to position
QueryEventsResponse -> rename files_completed to historic_events_processed, introduce Void to common.proto and use it as type here
RowResponse -> rename id_values to id_value and sort_values to sort_value
ReadHighestSequenceNrResponse -> rename to_sequence_number to sequence_number
GetEventsRequest -> rename tracking_token to position, rename client_id to component_instance_id and component_name to component_id, remove processor, change the type of PayloadDescription with newly introduced SerializedType and remove PayloadDescription
Event -> rename message_identifier to message_id
QueryValue -> rename to TypedValue and move to common.proto
This issue covers various findings on the current API design. An implementor(s) may group these findings into subtasks.
If possible rename bidi stream messages to:
Platform(Inbound/Outbound)(Command/Query/Control)Instruction. Useinstruction_idi.o.message_id.common.proto
ErrorMessage-> renamelocationtosourceFlowControl-> deprecateclient_idErrorMessage-> introduceerror_codeas stringcontrol.proto
ClientIdentification-> renameclient_idtocomponent_instance_id, renamecomponent_nametocomponent_idSegmentStatus-> renameone_part_oftofractionquery.proto
QueryProviderInbound-> renameQueryRequestqueryparameter toquery_requestQueryRequest-> renamemessage_identifiertomessage_id, renameclient_idtocomponent_instance_id, renamecomponent_nametocomponent_idQueryComplete-> removemessage_idQueryResponse-> renamemessage_identifiertomessage_id, deprecateerror_code(since it'll be part ofErrorMessage), check whetherprocessing_instructionis neededSubscriptionQuery-> renamesubscription_identifiertomessage_id, introduceSerializedTypemessage as a copy ofSerializedObjectwhere 3 is reservedQueryUpdate-> renamemessage_identifiertomessage_id, renameclient_idtocomponent_instance_idandcomponent_nametocomponent_idQueryUpdateComplete-> renameclient_idtocomponent_instance_idandcomponent_nametocomponent_id, rename it toQueryUpdateCompletedQueryUpdateCompleteExceptionally-> renameclient_idtocomponent_instance_idandcomponent_nametocomponent_id, rename toQueryUpdateCompletedExceptionally, deprecateerror_codeSubscriptionQueryRequest-> reconsider current design - some field types could be adjustedSubscriptionQueryResponse-> removemessage_identifierQuerySubscription-> renamequerytoquery_name, renameresult_nametoresult_type, renameclient_idtocomponent_instance_idandcomponent_nametocomponent_idcommand.proto
Command-> renamemessage_identifiertomessage_id, renameclient_idtocomponent_instance_idandcomponent_nametocomponent_idCommandResponse-> renamemessage_identifiertomessage_id, removeerror_code, renamerequest_identifiertorequest_idCommandSubscription-> renameclient_idtocomponent_instance_idandcomponent_nametocomponent_id, remove message_id, rename command to command_nameevent.proto
Confirmation-> introduceAppend(Event/Snapshot)ResultTrackingToken-> renametokentopositionEventWithToken-> renametokentopositionQueryEventsResponse-> renamefiles_completedtohistoric_events_processed, introduceVoidto common.proto and use it as type hereRowResponse-> renameid_valuestoid_valueandsort_valuestosort_valueReadHighestSequenceNrResponse-> renameto_sequence_numbertosequence_numberGetEventsRequest-> renametracking_tokentoposition, renameclient_idtocomponent_instance_idandcomponent_nametocomponent_id, removeprocessor, change the type ofPayloadDescriptionwith newly introducedSerializedTypeand removePayloadDescriptionEvent-> renamemessage_identifiertomessage_idQueryValue-> rename toTypedValueand move to common.proto