github.com/adnan-c/fabric_e2e_couchdb@v0.6.1-preview.0.20170228180935-21ce6b23cf91/protos/orderer/configuration.proto (about)

     1  /*
     2  Copyright IBM Corp. 2016 All Rights Reserved.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8                   http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  syntax = "proto3";
    18  
    19  option go_package = "github.com/hyperledger/fabric/protos/orderer";
    20  
    21  package orderer;
    22  
    23  
    24  // The orderer config is specified by the following convention:
    25  //   For a configuration item with key "Key"
    26  //   the encoded value is a a proto message of type "Key"
    27  //   For example, for the configuration item of name "ConsensusType"
    28  //   the encoded value is the proto message "ConsensusType"
    29  
    30  message ConsensusType {
    31      string type = 1;
    32  }
    33  
    34  message BatchSize {
    35      // Simply specified as number of messages for now, in the future
    36      // we may want to allow this to be specified by size in bytes
    37      uint32 maxMessageCount = 1;
    38      // The byte count of the serialized messages in a batch cannot
    39      // exceed this value.
    40      uint32 absoluteMaxBytes = 2;
    41      // The byte count of the serialized messages in a batch should not
    42      // exceed this value.
    43      uint32 preferredMaxBytes = 3;
    44  }
    45  
    46  message BatchTimeout {
    47      // Any duration string parseable by ParseDuration():
    48      // https://golang.org/pkg/time/#ParseDuration
    49      string timeout = 1;
    50  }
    51  
    52  // When submitting a new chain configuration transaction to create a new chain,
    53  // the first configuration item must be of type Orderer with Key CreationPolicy
    54  // and contents of a Marshaled CreationPolicy. The policy should be set to the
    55  // policy which was supplied by the ordering service for the client's chain
    56  // creation. The digest should be the hash of the concatenation of the remaining
    57  // ConfigurationItem bytes. The signatures of the configuration item should
    58  // satisfy the policy for chain creation.
    59  message CreationPolicy {
    60      // The name of the policy which should be used to validate the creation of
    61      // this chain
    62      string policy = 1;
    63  }
    64  
    65  // IngressPolicyNames is the set of policy names which incoming Broadcast signatures are filtered against
    66  message IngressPolicyNames {
    67      // A list of policies, in evaluation these are 'or'-ed, note this is not a proper policy
    68      // because implementing referential policies in a general way is difficult, and dangerous
    69      repeated string names = 1;
    70  }
    71  
    72  // EgressPolicyNames is the set of policy names which incoming Deliver signatures are filtered against
    73  message EgressPolicyNames {
    74      // A list of policies, in evaluation these are 'or'-ed, note this is not a proper policy
    75      // because implementing referential policies in a general way is difficult, and dangerous
    76      repeated string names = 1;
    77  }
    78  
    79  // ChainCreationPolicyNames is the set of policies which may be invoked for chain creation
    80  message ChainCreationPolicyNames {
    81      // A list of policies, in evaluation these are 'or'-ed, note this is not a proper policy
    82      // because implementing referential policies in a general way is difficult, and dangerous
    83      repeated string names = 1;
    84  }
    85  
    86  // Carries a list of bootstrap brokers, i.e. this is not the exclusive set of
    87  // brokers an ordering service
    88  message KafkaBrokers {
    89      // Each broker here should be identified using the (IP|host):port notation,
    90      // e.g. 127.0.0.1:7050, or localhost:7050 are valid entries
    91      repeated string brokers = 1;
    92  }