Use more precise names for protobuf and nano

io.grpc.nano sort of seems like a "small" version of grpc-java. And
io.grpc.proto could also mean multiple things. Using "protobuf"
and "protobuf nano" gets us consistent names that are still
understandable, predictable, and more similar to protobuf project
itself.
diff --git a/compiler/src/java_plugin/cpp/java_generator.cpp b/compiler/src/java_plugin/cpp/java_generator.cpp
index e74f18e..1700385 100644
--- a/compiler/src/java_plugin/cpp/java_generator.cpp
+++ b/compiler/src/java_plugin/cpp/java_generator.cpp
@@ -95,7 +95,7 @@
           "    $Method$.create(\n"
           "        $MethodType$.$method_type$, \"$method_name$\",\n"
           "        $NanoUtils$.<$input_type$>marshaller(\n"
-          "            new io.grpc.nano.Parser<$input_type$>() {\n"
+          "            new io.grpc.protobuf.nano.Parser<$input_type$>() {\n"
           "                @Override\n"
           "                public $input_type$ parse("
           "$CodedInputByteBufferNano$ input) throws IOException {\n"
@@ -103,7 +103,7 @@
           "                }\n"
           "        }),\n"
           "        $NanoUtils$.<$output_type$>marshaller(\n"
-          "            new io.grpc.nano.Parser<$output_type$>() {\n"
+          "            new io.grpc.protobuf.nano.Parser<$output_type$>() {\n"
           "                @Override\n"
           "                public $output_type$ parse("
           "$CodedInputByteBufferNano$ input) throws IOException {\n"
@@ -662,8 +662,8 @@
       "io.grpc.stub.AbstractServiceDescriptor";
   vars["ImmutableList"] = "com.google.common.collect.ImmutableList";
   vars["MethodDescriptor"] = "io.grpc.MethodDescriptor";
-  vars["ProtoUtils"] = "io.grpc.proto.ProtoUtils";
-  vars["NanoUtils"] = "io.grpc.nano.NanoUtils";
+  vars["ProtoUtils"] = "io.grpc.protobuf.ProtoUtils";
+  vars["NanoUtils"] = "io.grpc.protobuf.nano.NanoUtils";
   vars["StreamObserver"] = "io.grpc.stub.StreamObserver";
   vars["Iterator"] = "java.util.Iterator";
   vars["Map"] = "java.util.Map";
diff --git a/compiler/src/test/golden/TestService.java.txt b/compiler/src/test/golden/TestService.java.txt
index a19f90c..081ef00 100644
--- a/compiler/src/test/golden/TestService.java.txt
+++ b/compiler/src/test/golden/TestService.java.txt
@@ -19,32 +19,32 @@
       io.grpc.testing.integration.Test.SimpleResponse> METHOD_UNARY_CALL =
       io.grpc.stub.Method.create(
           io.grpc.MethodType.UNARY, "UnaryCall",
-          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.SimpleRequest.PARSER),
-          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.SimpleResponse.PARSER));
+          io.grpc.protobuf.ProtoUtils.marshaller(io.grpc.testing.integration.Test.SimpleRequest.PARSER),
+          io.grpc.protobuf.ProtoUtils.marshaller(io.grpc.testing.integration.Test.SimpleResponse.PARSER));
   private static final io.grpc.stub.Method<io.grpc.testing.integration.Test.StreamingOutputCallRequest,
       io.grpc.testing.integration.Test.StreamingOutputCallResponse> METHOD_STREAMING_OUTPUT_CALL =
       io.grpc.stub.Method.create(
           io.grpc.MethodType.SERVER_STREAMING, "StreamingOutputCall",
-          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallRequest.PARSER),
-          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallResponse.PARSER));
+          io.grpc.protobuf.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallRequest.PARSER),
+          io.grpc.protobuf.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallResponse.PARSER));
   private static final io.grpc.stub.Method<io.grpc.testing.integration.Test.StreamingInputCallRequest,
       io.grpc.testing.integration.Test.StreamingInputCallResponse> METHOD_STREAMING_INPUT_CALL =
       io.grpc.stub.Method.create(
           io.grpc.MethodType.CLIENT_STREAMING, "StreamingInputCall",
-          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingInputCallRequest.PARSER),
-          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingInputCallResponse.PARSER));
+          io.grpc.protobuf.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingInputCallRequest.PARSER),
+          io.grpc.protobuf.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingInputCallResponse.PARSER));
   private static final io.grpc.stub.Method<io.grpc.testing.integration.Test.StreamingOutputCallRequest,
       io.grpc.testing.integration.Test.StreamingOutputCallResponse> METHOD_FULL_DUPLEX_CALL =
       io.grpc.stub.Method.create(
           io.grpc.MethodType.DUPLEX_STREAMING, "FullDuplexCall",
-          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallRequest.PARSER),
-          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallResponse.PARSER));
+          io.grpc.protobuf.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallRequest.PARSER),
+          io.grpc.protobuf.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallResponse.PARSER));
   private static final io.grpc.stub.Method<io.grpc.testing.integration.Test.StreamingOutputCallRequest,
       io.grpc.testing.integration.Test.StreamingOutputCallResponse> METHOD_HALF_DUPLEX_CALL =
       io.grpc.stub.Method.create(
           io.grpc.MethodType.DUPLEX_STREAMING, "HalfDuplexCall",
-          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallRequest.PARSER),
-          io.grpc.proto.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallResponse.PARSER));
+          io.grpc.protobuf.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallRequest.PARSER),
+          io.grpc.protobuf.ProtoUtils.marshaller(io.grpc.testing.integration.Test.StreamingOutputCallResponse.PARSER));
 
   public static TestServiceStub newStub(io.grpc.Channel channel) {
     return new TestServiceStub(channel, CONFIG);
diff --git a/compiler/src/test/golden/TestServiceNano.java.txt b/compiler/src/test/golden/TestServiceNano.java.txt
index 7e12113..464e992 100644
--- a/compiler/src/test/golden/TestServiceNano.java.txt
+++ b/compiler/src/test/golden/TestServiceNano.java.txt
@@ -21,15 +21,15 @@
       io.grpc.testing.integration.Test.SimpleResponse> METHOD_UNARY_CALL =
       io.grpc.stub.Method.create(
           io.grpc.MethodType.UNARY, "UnaryCall",
-          io.grpc.nano.NanoUtils.<io.grpc.testing.integration.Test.SimpleRequest>marshaller(
-              new io.grpc.nano.Parser<io.grpc.testing.integration.Test.SimpleRequest>() {
+          io.grpc.protobuf.nano.NanoUtils.<io.grpc.testing.integration.Test.SimpleRequest>marshaller(
+              new io.grpc.protobuf.nano.Parser<io.grpc.testing.integration.Test.SimpleRequest>() {
                   @Override
                   public io.grpc.testing.integration.Test.SimpleRequest parse(com.google.protobuf.nano.CodedInputByteBufferNano input) throws IOException {
                       return io.grpc.testing.integration.Test.SimpleRequest.parseFrom(input);
                   }
           }),
-          io.grpc.nano.NanoUtils.<io.grpc.testing.integration.Test.SimpleResponse>marshaller(
-              new io.grpc.nano.Parser<io.grpc.testing.integration.Test.SimpleResponse>() {
+          io.grpc.protobuf.nano.NanoUtils.<io.grpc.testing.integration.Test.SimpleResponse>marshaller(
+              new io.grpc.protobuf.nano.Parser<io.grpc.testing.integration.Test.SimpleResponse>() {
                   @Override
                   public io.grpc.testing.integration.Test.SimpleResponse parse(com.google.protobuf.nano.CodedInputByteBufferNano input) throws IOException {
                       return io.grpc.testing.integration.Test.SimpleResponse.parseFrom(input);
@@ -39,15 +39,15 @@
       io.grpc.testing.integration.Test.StreamingOutputCallResponse> METHOD_STREAMING_OUTPUT_CALL =
       io.grpc.stub.Method.create(
           io.grpc.MethodType.SERVER_STREAMING, "StreamingOutputCall",
-          io.grpc.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingOutputCallRequest>marshaller(
-              new io.grpc.nano.Parser<io.grpc.testing.integration.Test.StreamingOutputCallRequest>() {
+          io.grpc.protobuf.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingOutputCallRequest>marshaller(
+              new io.grpc.protobuf.nano.Parser<io.grpc.testing.integration.Test.StreamingOutputCallRequest>() {
                   @Override
                   public io.grpc.testing.integration.Test.StreamingOutputCallRequest parse(com.google.protobuf.nano.CodedInputByteBufferNano input) throws IOException {
                       return io.grpc.testing.integration.Test.StreamingOutputCallRequest.parseFrom(input);
                   }
           }),
-          io.grpc.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingOutputCallResponse>marshaller(
-              new io.grpc.nano.Parser<io.grpc.testing.integration.Test.StreamingOutputCallResponse>() {
+          io.grpc.protobuf.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingOutputCallResponse>marshaller(
+              new io.grpc.protobuf.nano.Parser<io.grpc.testing.integration.Test.StreamingOutputCallResponse>() {
                   @Override
                   public io.grpc.testing.integration.Test.StreamingOutputCallResponse parse(com.google.protobuf.nano.CodedInputByteBufferNano input) throws IOException {
                       return io.grpc.testing.integration.Test.StreamingOutputCallResponse.parseFrom(input);
@@ -57,15 +57,15 @@
       io.grpc.testing.integration.Test.StreamingInputCallResponse> METHOD_STREAMING_INPUT_CALL =
       io.grpc.stub.Method.create(
           io.grpc.MethodType.CLIENT_STREAMING, "StreamingInputCall",
-          io.grpc.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingInputCallRequest>marshaller(
-              new io.grpc.nano.Parser<io.grpc.testing.integration.Test.StreamingInputCallRequest>() {
+          io.grpc.protobuf.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingInputCallRequest>marshaller(
+              new io.grpc.protobuf.nano.Parser<io.grpc.testing.integration.Test.StreamingInputCallRequest>() {
                   @Override
                   public io.grpc.testing.integration.Test.StreamingInputCallRequest parse(com.google.protobuf.nano.CodedInputByteBufferNano input) throws IOException {
                       return io.grpc.testing.integration.Test.StreamingInputCallRequest.parseFrom(input);
                   }
           }),
-          io.grpc.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingInputCallResponse>marshaller(
-              new io.grpc.nano.Parser<io.grpc.testing.integration.Test.StreamingInputCallResponse>() {
+          io.grpc.protobuf.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingInputCallResponse>marshaller(
+              new io.grpc.protobuf.nano.Parser<io.grpc.testing.integration.Test.StreamingInputCallResponse>() {
                   @Override
                   public io.grpc.testing.integration.Test.StreamingInputCallResponse parse(com.google.protobuf.nano.CodedInputByteBufferNano input) throws IOException {
                       return io.grpc.testing.integration.Test.StreamingInputCallResponse.parseFrom(input);
@@ -75,15 +75,15 @@
       io.grpc.testing.integration.Test.StreamingOutputCallResponse> METHOD_FULL_DUPLEX_CALL =
       io.grpc.stub.Method.create(
           io.grpc.MethodType.DUPLEX_STREAMING, "FullDuplexCall",
-          io.grpc.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingOutputCallRequest>marshaller(
-              new io.grpc.nano.Parser<io.grpc.testing.integration.Test.StreamingOutputCallRequest>() {
+          io.grpc.protobuf.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingOutputCallRequest>marshaller(
+              new io.grpc.protobuf.nano.Parser<io.grpc.testing.integration.Test.StreamingOutputCallRequest>() {
                   @Override
                   public io.grpc.testing.integration.Test.StreamingOutputCallRequest parse(com.google.protobuf.nano.CodedInputByteBufferNano input) throws IOException {
                       return io.grpc.testing.integration.Test.StreamingOutputCallRequest.parseFrom(input);
                   }
           }),
-          io.grpc.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingOutputCallResponse>marshaller(
-              new io.grpc.nano.Parser<io.grpc.testing.integration.Test.StreamingOutputCallResponse>() {
+          io.grpc.protobuf.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingOutputCallResponse>marshaller(
+              new io.grpc.protobuf.nano.Parser<io.grpc.testing.integration.Test.StreamingOutputCallResponse>() {
                   @Override
                   public io.grpc.testing.integration.Test.StreamingOutputCallResponse parse(com.google.protobuf.nano.CodedInputByteBufferNano input) throws IOException {
                       return io.grpc.testing.integration.Test.StreamingOutputCallResponse.parseFrom(input);
@@ -93,15 +93,15 @@
       io.grpc.testing.integration.Test.StreamingOutputCallResponse> METHOD_HALF_DUPLEX_CALL =
       io.grpc.stub.Method.create(
           io.grpc.MethodType.DUPLEX_STREAMING, "HalfDuplexCall",
-          io.grpc.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingOutputCallRequest>marshaller(
-              new io.grpc.nano.Parser<io.grpc.testing.integration.Test.StreamingOutputCallRequest>() {
+          io.grpc.protobuf.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingOutputCallRequest>marshaller(
+              new io.grpc.protobuf.nano.Parser<io.grpc.testing.integration.Test.StreamingOutputCallRequest>() {
                   @Override
                   public io.grpc.testing.integration.Test.StreamingOutputCallRequest parse(com.google.protobuf.nano.CodedInputByteBufferNano input) throws IOException {
                       return io.grpc.testing.integration.Test.StreamingOutputCallRequest.parseFrom(input);
                   }
           }),
-          io.grpc.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingOutputCallResponse>marshaller(
-              new io.grpc.nano.Parser<io.grpc.testing.integration.Test.StreamingOutputCallResponse>() {
+          io.grpc.protobuf.nano.NanoUtils.<io.grpc.testing.integration.Test.StreamingOutputCallResponse>marshaller(
+              new io.grpc.protobuf.nano.Parser<io.grpc.testing.integration.Test.StreamingOutputCallResponse>() {
                   @Override
                   public io.grpc.testing.integration.Test.StreamingOutputCallResponse parse(com.google.protobuf.nano.CodedInputByteBufferNano input) throws IOException {
                       return io.grpc.testing.integration.Test.StreamingOutputCallResponse.parseFrom(input);
diff --git a/integration-testing/src/main/java/io/grpc/testing/integration/AbstractTransportTest.java b/integration-testing/src/main/java/io/grpc/testing/integration/AbstractTransportTest.java
index b8c98f9..39fc6be 100644
--- a/integration-testing/src/main/java/io/grpc/testing/integration/AbstractTransportTest.java
+++ b/integration-testing/src/main/java/io/grpc/testing/integration/AbstractTransportTest.java
@@ -50,7 +50,7 @@
 import io.grpc.ServerImpl;
 import io.grpc.ServerInterceptors;
 import io.grpc.Status;
-import io.grpc.proto.ProtoUtils;
+import io.grpc.protobuf.ProtoUtils;
 import io.grpc.stub.MetadataUtils;
 import io.grpc.stub.StreamObserver;
 import io.grpc.stub.StreamRecorder;
diff --git a/integration-testing/src/main/java/io/grpc/testing/integration/Util.java b/integration-testing/src/main/java/io/grpc/testing/integration/Util.java
index 20907fe..d264ecf 100644
--- a/integration-testing/src/main/java/io/grpc/testing/integration/Util.java
+++ b/integration-testing/src/main/java/io/grpc/testing/integration/Util.java
@@ -34,7 +34,7 @@
 import com.google.protobuf.MessageLite;
 
 import io.grpc.Metadata;
-import io.grpc.proto.ProtoUtils;
+import io.grpc.protobuf.ProtoUtils;
 
 import org.junit.Assert;
 
diff --git a/nano/build.gradle b/protobuf-nano/build.gradle
similarity index 76%
rename from nano/build.gradle
rename to protobuf-nano/build.gradle
index 9762025..7b5eea9 100644
--- a/nano/build.gradle
+++ b/protobuf-nano/build.gradle
@@ -1,4 +1,4 @@
-description = 'gRPC: Nano'
+description = 'gRPC: Protobuf Nano'
 
 dependencies {
     compile project(':grpc-core'),
diff --git a/nano/src/main/java/io/grpc/nano/DeferredNanoProtoInputStream.java b/protobuf-nano/src/main/java/io/grpc/protobuf/nano/DeferredNanoProtoInputStream.java
similarity index 98%
rename from nano/src/main/java/io/grpc/nano/DeferredNanoProtoInputStream.java
rename to protobuf-nano/src/main/java/io/grpc/protobuf/nano/DeferredNanoProtoInputStream.java
index e09b7d4..f0aa1af 100644
--- a/nano/src/main/java/io/grpc/nano/DeferredNanoProtoInputStream.java
+++ b/protobuf-nano/src/main/java/io/grpc/protobuf/nano/DeferredNanoProtoInputStream.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package io.grpc.nano;
+package io.grpc.protobuf.nano;
 
 import com.google.common.io.ByteStreams;
 import com.google.protobuf.nano.CodedOutputByteBufferNano;
diff --git a/nano/src/main/java/io/grpc/nano/NanoUtils.java b/protobuf-nano/src/main/java/io/grpc/protobuf/nano/NanoUtils.java
similarity index 98%
rename from nano/src/main/java/io/grpc/nano/NanoUtils.java
rename to protobuf-nano/src/main/java/io/grpc/protobuf/nano/NanoUtils.java
index ad09b92..a64f166 100644
--- a/nano/src/main/java/io/grpc/nano/NanoUtils.java
+++ b/protobuf-nano/src/main/java/io/grpc/protobuf/nano/NanoUtils.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package io.grpc.nano;
+package io.grpc.protobuf.nano;
 
 import com.google.common.io.ByteStreams;
 import com.google.protobuf.nano.CodedInputByteBufferNano;
diff --git a/nano/src/main/java/io/grpc/nano/Parser.java b/protobuf-nano/src/main/java/io/grpc/protobuf/nano/Parser.java
similarity index 97%
rename from nano/src/main/java/io/grpc/nano/Parser.java
rename to protobuf-nano/src/main/java/io/grpc/protobuf/nano/Parser.java
index fab60e1..a82e59f 100644
--- a/nano/src/main/java/io/grpc/nano/Parser.java
+++ b/protobuf-nano/src/main/java/io/grpc/protobuf/nano/Parser.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package io.grpc.nano;
+package io.grpc.protobuf.nano;
 
 import com.google.protobuf.nano.CodedInputByteBufferNano;
 import com.google.protobuf.nano.MessageNano;
diff --git a/protobuf/src/main/java/io/grpc/proto/DeferredProtoInputStream.java b/protobuf/src/main/java/io/grpc/protobuf/DeferredProtoInputStream.java
similarity index 99%
rename from protobuf/src/main/java/io/grpc/proto/DeferredProtoInputStream.java
rename to protobuf/src/main/java/io/grpc/protobuf/DeferredProtoInputStream.java
index dbdc829..737f3ae 100644
--- a/protobuf/src/main/java/io/grpc/proto/DeferredProtoInputStream.java
+++ b/protobuf/src/main/java/io/grpc/protobuf/DeferredProtoInputStream.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package io.grpc.proto;
+package io.grpc.protobuf;
 
 import com.google.common.io.ByteStreams;
 import com.google.protobuf.CodedOutputStream;
diff --git a/protobuf/src/main/java/io/grpc/proto/ProtoUtils.java b/protobuf/src/main/java/io/grpc/protobuf/ProtoUtils.java
similarity index 98%
rename from protobuf/src/main/java/io/grpc/proto/ProtoUtils.java
rename to protobuf/src/main/java/io/grpc/protobuf/ProtoUtils.java
index d638d5e..afc0859 100644
--- a/protobuf/src/main/java/io/grpc/proto/ProtoUtils.java
+++ b/protobuf/src/main/java/io/grpc/protobuf/ProtoUtils.java
@@ -29,7 +29,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-package io.grpc.proto;
+package io.grpc.protobuf;
 
 import com.google.protobuf.InvalidProtocolBufferException;
 import com.google.protobuf.Message;
diff --git a/settings.gradle b/settings.gradle
index a36c5e9..a98b52e 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -4,7 +4,7 @@
 include ":grpc-auth"
 include ":grpc-okhttp"
 include ":grpc-protobuf"
-include ":grpc-nano"
+include ":grpc-protobuf-nano"
 include ":grpc-netty"
 include ":grpc-testing"
 include ":grpc-compiler"
@@ -18,7 +18,7 @@
 project(':grpc-auth').projectDir = "$rootDir/auth" as File
 project(':grpc-okhttp').projectDir = "$rootDir/okhttp" as File
 project(':grpc-protobuf').projectDir = "$rootDir/protobuf" as File
-project(':grpc-nano').projectDir = "$rootDir/nano" as File
+project(':grpc-protobuf-nano').projectDir = "$rootDir/nano" as File
 project(':grpc-netty').projectDir = "$rootDir/netty" as File
 project(':grpc-testing').projectDir = "$rootDir/testing" as File
 project(':grpc-compiler').projectDir = "$rootDir/compiler" as File