github.com/jlmucb/cloudproxy@v0.0.0-20170830161738-b5aa0b619bc4/go/apps/mixnet/mixnet.proto (about) 1 // Copyright (c) 2015, Google, Inc. All rights reserved. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 package mixnet; 16 17 enum DirectiveType { 18 ERROR = 0; // Signal an error to peer. 19 CREATE = 1; // Create a circuit. 20 CREATED = 2; // Reply from router confirming CREATE 21 DESTROY = 3; // Destroy a circuit. 22 DESTROYED = 4; // Reply from router confirming DESTROY 23 } 24 25 message Directive { 26 required DirectiveType type = 1; 27 28 // CREATE, a sequence of addresses (e.g. "192.168.1.1:7007") 29 // comprising the circuit to be constructed over the mixnet. Each address 30 // corresponds to a mixnet router except the last, which is the service the 31 // proxy would like to contact. 32 repeated string addrs = 2; 33 optional bytes key = 3; 34 35 // ERROR or FATAL, an error message. 36 optional string error = 4; 37 } 38 39 enum DirectoryMessageType { 40 REGISTER = 0; 41 DELETE = 1; 42 LIST = 2; 43 DIRECTORY = 3; 44 DIRERROR = 4; 45 } 46 47 message DirectoryMessage { 48 required DirectoryMessageType type = 1; 49 // Addresses to register to or delete from the directory, 50 // or list of all available mixnets 51 repeated string addrs = 2; 52 repeated bytes keys = 3; 53 // Possible error message 54 optional string error = 4; 55 }