// Copyright 2015 <chaishushan{AT}gmail.com>. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

syntax = "proto3";

package proto3_proto;

message Message {
	enum Humour {
		UNKNOWN = 0;
		PUNS = 1;
		SLAPSTICK = 2;
		BILL_BAILEY = 3;
	}

	string name = 1;
	Humour hilarity = 2;
	uint32 height_in_cm = 3;
	bytes data = 4;
	int64 result_count = 7;
	bool true_scotsman = 8;
	float score = 9;

	repeated uint64 key = 5;
	Nested nested = 6;

	map<string, Nested> terrain = 10;
}

message Nested {
	string bunny = 1;
}

message MessageWithMap {
	map<bool, bytes> byte_mapping = 1;
}

service EchoService {
	rpc Echo(Message) returns (Message);
}
