// // Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to You under the Apache License, Version 2.0 // (the "License"); you may not use this file except in compliance with // the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // package org.apache.activemq.command; option java_multiple_files = true; option java_outer_classname = "PB"; //| option deferred_decode = true; //| option auto_clear_optional_fields = true; message PBSessionId { required string connection_id=1; required int64 id=2; } message PBProducerId { required PBSessionId session_id=1; required int64 id=2; } message PBConsumerId { required PBSessionId session_id=1; required int64 id=2; } message PBMessageId { required PBProducerId producer_id=1; required int64 id=2; optional int64 broker_sequence_id=3; } message PBActiveMQDestination { enum DestinationType { QUEUE = 0; TOPIC = 1; TEMP_QUEUE = 2; TEMP_TOPIC = 3; } required DestinationType type = 1 [default = QUEUE]; required string name = 2; } message PBTransactionId { // option type=union; optional PBLocalTransactionId local_transaction_id=1; optional PBXATransactionId xa_transaction_id=2; } message PBLocalTransactionId { required string connection_id=1; required int64 id=2; } message PBXATransactionId { required int32 format_id = 1; required bytes branch_qualifier = 2; required bytes global_transaction_id = 3; } message PBValue { optional int32 byte_value=1; optional bool boolean_value=2; optional int32 char_value=3; optional int32 short_value=4; optional int32 int_value=5; optional int64 long_value=6; optional float float_value=7; optional double double_value=8; optional bytes byte_array_value=9; optional string string_value=10; repeated PBKeyValue map_value=11; repeated PBValue list_value=12; optional bool null_value=13; } message PBKeyValue { required string name=1; required PBValue value=2; } message PBCommandHeader { optional int32 command_id=1; optional PBCommandType type=2; optional bool response_required=4; } message PBStackTraceElement { optional string class_name=1; optional string method_name=2; optional string file_name=3; optional int32 line_number=4; } message PBThrowable { optional string class_name=1; optional string message=2; repeated PBStackTraceElement stack_frames=3; optional PBThrowable cause=4; } enum PBCommandType { //| option java_create_message="true"; P_B_MESSAGE = 0; P_B_BROKER_INFO = 1; P_B_CONNECTION_CONTROL=2; P_B_CONNECTION_ERROR=3; P_B_CONNECTION_INFO=4; P_B_CONSUMER_CONTROL=5; P_B_CONSUMER_INFO=6; P_B_CONTROL_COMMAND=7; P_B_DESTINATION_INFO=8; P_B_FLUSH_COMMAND=8; P_B_KEEP_ALIVE_INFO=9; P_B_MESSAGE_ACK=10; P_B_PRODUCER_INFO=11; P_B_MESSAGE_PULL=12; P_B_PARTIAL_COMMAND=13; P_B_PRODUCER_ACK=14; P_B_REMOVE_INFO=15; P_B_REMOVE_SUBSCRIPTION_INFO=16; P_B_REPLAY_COMMAND=17; P_B_RESPONSE=18; P_B_SESSION_INFO=19; P_B_SHUTDOWN_INFO=20; P_B_TRANSACTION_INFO=21; P_B_WIRE_FORMAT_INFO=22; P_B_MESSAGE_DISPATCH=23; P_B_MESSAGE_DISPATCH_NOTIFICATION=24; P_B_JOURNAL_TRACE=25; P_B_JOURNAL_TRANSACTION=26; P_B_JOURNAL_TOPIC_ACK=27; P_B_JOURNAL_QUEUE_ACK=28; } message PBJournalTrace { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional string message=1; } message PBJournalTransaction { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional int32 type=1; optional bool wasPrepared=2; optional PBTransactionId transactionId=3; } message PBJournalTopicAck { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional PBActiveMQDestination destination=1; optional string clientId=2; optional string subscritionName=3; optional PBMessageId messageId=4; optional int64 messageSequenceId=5; optional PBTransactionId transactionId=6; } message PBJournalQueueAck { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional PBActiveMQDestination destination=1; optional PBMessageAck messageAck=2; } message PBMessageDispatch { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional PBConsumerId consumerId=1; optional PBActiveMQDestination destination=2; optional PBMessage message=3; optional int32 redeliveryCounter=4; } message PBMessageDispatchNotification { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional PBConsumerId consumerId=1; optional PBActiveMQDestination destination=2; optional PBMessageId messageId=3; optional int64 deliverySequenceId=4; } message PBWireFormatInfo { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional int32 version=1; repeated PBKeyValue property=2; } message PBTransactionInfo { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; enum PBTransactionType { BEGIN = 0; PREPARE = 1; COMMIT_ONE_PHASE = 2; COMMIT_TWO_PHASE = 3; ROLLBACK = 4; RECOVER = 5; FORGET = 6; END = 7; } optional PBTransactionType type=1; optional string connectionId=2; optional PBTransactionId transactionId=3; } message PBShutdownInfo { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; } message PBSessionInfo { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional PBSessionId sessionId=1; } message PBResponse { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional int32 correlationId=1; } message PBReplayCommand { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional string producerId=1; optional int32 firstAckNumber=2; optional int32 lastAckNumber=3; optional int32 firstNakNumber=4; optional int32 lastNakNumber=5; } message PBRemoveSubscriptionInfo { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional string connectionId=1; optional string clientId=2; optional string subscriptionName=3; } message PBRemoveInfo { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional string connection_id=1; optional PBSessionId session_id=2; optional PBConsumerId consumer_id=3; optional PBProducerId producer_id=4; } message PBProducerAck { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional PBProducerId producerId=1; optional int32 size=2; } message PBPartialCommand { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional int32 command_id=1; optional bytes data=2; } message PBMessagePull { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional PBConsumerId consumerId=1; optional PBActiveMQDestination destination=2; optional int64 timeout=3; optional PBMessageId messageId=4; optional string correlationId=5; } message PBProducerInfo { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional PBProducerId producerId=1; optional PBActiveMQDestination destination=2; repeated string brokerPath=3; optional bool dispatchAsync=4; optional int32 windowSize=5; } message PBMessageAck { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; enum PBAckType { DELIVERED_ACK_TYPE = 0; POSION_ACK_TYPE = 1; STANDARD_ACK_TYPE = 2; REDELIVERED_ACK_TYPE = 3; INDIVIDUAL_ACK_TYPE = 4; } optional PBAckType ackType=1; optional PBConsumerId consumerId=2; optional PBMessageId firstMessageId=3; optional PBMessageId lastMessageId=4; optional PBActiveMQDestination destination=5; optional PBTransactionId transactionId=6; optional int32 messageCount=7; } message PBKeepAliveInfo { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; } message PBFlushCommand { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; } message PBDestinationInfo { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; enum PBDestinationOperationType { ADD_OPERATION_TYPE = 0; REMOVE_OPERATION_TYPE = 1; } optional string connection_id=1; optional PBActiveMQDestination destination=2; optional PBDestinationOperationType operation_type=3; optional int64 timeout=4; repeated string broker_path=5; } message PBControlCommand { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; required string command=1; } message PBConsumerInfo { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; required PBConsumerId consumer_id=1; required PBActiveMQDestination destination=2; optional int32 prefetch_size=3; optional int32 maximum_pending_message_limit=4; optional bool browser=5; optional bool dispatch_async=6; optional string selector=7; optional string subscription_name=8; optional bool no_local=9; optional bool exclusive=10; optional bool retroactive=11; optional int32 priority=12; repeated string broker_path=13; optional bool optimized_acknowledge=14; optional bool no_range_acks=15; // protected BooleanExpression additionalPredicate; } message PBConsumerControl { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; required PBConsumerId consumer_id=1; optional bool close=2; optional bool stop=3; optional bool start=4; optional bool flush=5; optional int32 prefetch=6; } message PBConnectionInfo { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional string connectionId=1; optional string clientId=2; optional string userName=3; optional string password=4; repeated string broker_path=5; optional bool broker_master_connector=6; optional bool manageable=7; optional bool client_master=8; } message PBConnectionError { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional string connection_id=1; optional PBThrowable exception=2; } message PBConnectionControl { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional bool suspend=1; optional bool resume=2; optional bool close=3; optional bool exit=4; optional bool fault_tolerant=5; } message PBBrokerInfo { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; optional string broker_id=1; optional string broker_name=2; optional string broker_url=3; repeated PBBrokerInfo peer_broker_infos=4; optional int64 connectionId=5; optional string broker_upload_url=6; optional string network_properties=7; optional bool slave_broker=8; optional bool master_broker=9; optional bool fault_tolerant_configuration=10; optional bool network_connection=11; optional bool duplex_connection=12; } message PBMessage { //| option java_type_method = "PBCommandType"; //| option java_implments = "org.apache.activemq.pbwire.PBCommand"; //| option java_visitor = "org.apache.activemq.pbwire.PBCommandVisitor:Object:java.io.IOException"; enum PBMessageType { EMPTY_MESSAGE = 0; TEXT_MESSAGE = 1; BYTES_MESSAGE = 2; OBJECT_MESSAGE = 3; STREAM_MESSAGE = 4; MAP_MESSAGE = 5; } required PBMessageType message_type=1; required PBMessageId message_id=2; required PBActiveMQDestination destination=3; optional PBTransactionId transaction_id=4; optional bool persistent=5 [default = false]; optional bool compressed=6 [default = false]; optional bytes content=7; repeated PBKeyValue property=8; optional int64 timestamp=9; optional int32 priority=10 [default = 4]; optional int64 expiration=11; optional string type=12; optional PBActiveMQDestination replyTo=13; optional string correlationId=14; optional string groupID=15; optional int32 groupSequence=16; // Fields set by the broker: TODO perhaps we should // put this in a separate message class. optional string user_id=17; optional int32 redeliveryCounter=18; // Used when a message is routed to a new destination.. optional PBActiveMQDestination original_destination=22; optional PBTransactionId original_transaction_id=23; // Set by a network connector. repeated string brokerPath=26; optional PBConsumerId target_consumer_id=27; optional int64 arrival=28; optional bool droppable=29; repeated string cluster=30; optional int64 brokerInTime=31; optional int64 brokerOutTime=32; }