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 }