From e71095e0ec8ea4a742e9d0c0054c8d5c361ec5a2 Mon Sep 17 00:00:00 2001
From: David Symonds <dsymonds@golang.org>
Date: Mon, 9 Feb 2015 11:33:38 +1100
Subject: [PATCH 1/5] Move source files up one level.

The top-level directory in this repository is going to be
the main "grpc" package.
---
 rpc/call.go => call.go                              |   0
 rpc/clientconn.go => clientconn.go                  |   0
 {rpc/codes => codes}/codes.go                       |   0
 {rpc/compiler => compiler}/Makefile                 |   0
 {rpc/compiler => compiler}/README                   |   0
 {rpc/compiler => compiler}/gen.sh                   |   0
 {rpc/compiler => compiler}/go_generator.cc          |   0
 {rpc/compiler => compiler}/go_generator.h           |   0
 {rpc/compiler => compiler}/go_generator.o           | Bin
 {rpc/compiler => compiler}/go_plugin                | Bin
 {rpc/compiler => compiler}/go_plugin.cc             |   0
 {rpc/compiler => compiler}/go_plugin.o              | Bin
 {rpc/credentials => credentials}/credentials.go     |   0
 {rpc/interop => interop}/client/client.go           |   0
 {rpc/interop => interop}/client/testdata/ca.pem     |   0
 .../interop => interop}/client/testdata/server1.key |   0
 .../interop => interop}/client/testdata/server1.pem |   0
 {rpc/interop => interop}/server/server.go           |   0
 {rpc/interop => interop}/server/testdata/ca.pem     |   0
 .../interop => interop}/server/testdata/server1.key |   0
 .../interop => interop}/server/testdata/server1.pem |   0
 {rpc/interop => interop}/testdata/messages.proto    |   0
 {rpc/interop => interop}/testdata/test.proto        |   0
 {rpc/interop => interop}/testdata/test_proto.pb.go  |   0
 .../testdata/test_proto_grpc.pb.go                  |   0
 {rpc/metadata => metadata}/metadata.go              |   0
 {rpc/metadata => metadata}/metadata_test.go         |   0
 rpc/rpc_util.go => rpc_util.go                      |   0
 rpc/rpc_util_test.go => rpc_util_test.go            |   0
 rpc/server.go => server.go                          |   0
 rpc/stream.go => stream.go                          |   0
 {rpc/test => test}/end2end_test.go                  |   0
 {rpc/test => test}/testdata/ca.pem                  |   0
 {rpc/test => test}/testdata/server1.key             |   0
 {rpc/test => test}/testdata/server1.pem             |   0
 {rpc/test => test}/testdata/test.pb.go              |   0
 {rpc/test => test}/testdata/test.proto              |   0
 {rpc/test => test}/testdata/test_grpc.pb.go         |   0
 {rpc/transport => transport}/control.go             |   0
 .../http2_client_transport.go                       |   0
 .../http2_server_transport.go                       |   0
 {rpc/transport => transport}/http_util.go           |   0
 {rpc/transport => transport}/http_util_test.go      |   0
 {rpc/transport => transport}/testdata/ca.pem        |   0
 {rpc/transport => transport}/testdata/server1.key   |   0
 {rpc/transport => transport}/testdata/server1.pem   |   0
 {rpc/transport => transport}/transport.go           |   0
 {rpc/transport => transport}/transport_test.go      |   0
 48 files changed, 0 insertions(+), 0 deletions(-)
 rename rpc/call.go => call.go (100%)
 rename rpc/clientconn.go => clientconn.go (100%)
 rename {rpc/codes => codes}/codes.go (100%)
 rename {rpc/compiler => compiler}/Makefile (100%)
 rename {rpc/compiler => compiler}/README (100%)
 rename {rpc/compiler => compiler}/gen.sh (100%)
 rename {rpc/compiler => compiler}/go_generator.cc (100%)
 rename {rpc/compiler => compiler}/go_generator.h (100%)
 rename {rpc/compiler => compiler}/go_generator.o (100%)
 rename {rpc/compiler => compiler}/go_plugin (100%)
 rename {rpc/compiler => compiler}/go_plugin.cc (100%)
 rename {rpc/compiler => compiler}/go_plugin.o (100%)
 rename {rpc/credentials => credentials}/credentials.go (100%)
 rename {rpc/interop => interop}/client/client.go (100%)
 rename {rpc/interop => interop}/client/testdata/ca.pem (100%)
 rename {rpc/interop => interop}/client/testdata/server1.key (100%)
 rename {rpc/interop => interop}/client/testdata/server1.pem (100%)
 rename {rpc/interop => interop}/server/server.go (100%)
 rename {rpc/interop => interop}/server/testdata/ca.pem (100%)
 rename {rpc/interop => interop}/server/testdata/server1.key (100%)
 rename {rpc/interop => interop}/server/testdata/server1.pem (100%)
 rename {rpc/interop => interop}/testdata/messages.proto (100%)
 rename {rpc/interop => interop}/testdata/test.proto (100%)
 rename {rpc/interop => interop}/testdata/test_proto.pb.go (100%)
 rename {rpc/interop => interop}/testdata/test_proto_grpc.pb.go (100%)
 rename {rpc/metadata => metadata}/metadata.go (100%)
 rename {rpc/metadata => metadata}/metadata_test.go (100%)
 rename rpc/rpc_util.go => rpc_util.go (100%)
 rename rpc/rpc_util_test.go => rpc_util_test.go (100%)
 rename rpc/server.go => server.go (100%)
 rename rpc/stream.go => stream.go (100%)
 rename {rpc/test => test}/end2end_test.go (100%)
 rename {rpc/test => test}/testdata/ca.pem (100%)
 rename {rpc/test => test}/testdata/server1.key (100%)
 rename {rpc/test => test}/testdata/server1.pem (100%)
 rename {rpc/test => test}/testdata/test.pb.go (100%)
 rename {rpc/test => test}/testdata/test.proto (100%)
 rename {rpc/test => test}/testdata/test_grpc.pb.go (100%)
 rename {rpc/transport => transport}/control.go (100%)
 rename {rpc/transport => transport}/http2_client_transport.go (100%)
 rename {rpc/transport => transport}/http2_server_transport.go (100%)
 rename {rpc/transport => transport}/http_util.go (100%)
 rename {rpc/transport => transport}/http_util_test.go (100%)
 rename {rpc/transport => transport}/testdata/ca.pem (100%)
 rename {rpc/transport => transport}/testdata/server1.key (100%)
 rename {rpc/transport => transport}/testdata/server1.pem (100%)
 rename {rpc/transport => transport}/transport.go (100%)
 rename {rpc/transport => transport}/transport_test.go (100%)

diff --git a/rpc/call.go b/call.go
similarity index 100%
rename from rpc/call.go
rename to call.go
diff --git a/rpc/clientconn.go b/clientconn.go
similarity index 100%
rename from rpc/clientconn.go
rename to clientconn.go
diff --git a/rpc/codes/codes.go b/codes/codes.go
similarity index 100%
rename from rpc/codes/codes.go
rename to codes/codes.go
diff --git a/rpc/compiler/Makefile b/compiler/Makefile
similarity index 100%
rename from rpc/compiler/Makefile
rename to compiler/Makefile
diff --git a/rpc/compiler/README b/compiler/README
similarity index 100%
rename from rpc/compiler/README
rename to compiler/README
diff --git a/rpc/compiler/gen.sh b/compiler/gen.sh
similarity index 100%
rename from rpc/compiler/gen.sh
rename to compiler/gen.sh
diff --git a/rpc/compiler/go_generator.cc b/compiler/go_generator.cc
similarity index 100%
rename from rpc/compiler/go_generator.cc
rename to compiler/go_generator.cc
diff --git a/rpc/compiler/go_generator.h b/compiler/go_generator.h
similarity index 100%
rename from rpc/compiler/go_generator.h
rename to compiler/go_generator.h
diff --git a/rpc/compiler/go_generator.o b/compiler/go_generator.o
similarity index 100%
rename from rpc/compiler/go_generator.o
rename to compiler/go_generator.o
diff --git a/rpc/compiler/go_plugin b/compiler/go_plugin
similarity index 100%
rename from rpc/compiler/go_plugin
rename to compiler/go_plugin
diff --git a/rpc/compiler/go_plugin.cc b/compiler/go_plugin.cc
similarity index 100%
rename from rpc/compiler/go_plugin.cc
rename to compiler/go_plugin.cc
diff --git a/rpc/compiler/go_plugin.o b/compiler/go_plugin.o
similarity index 100%
rename from rpc/compiler/go_plugin.o
rename to compiler/go_plugin.o
diff --git a/rpc/credentials/credentials.go b/credentials/credentials.go
similarity index 100%
rename from rpc/credentials/credentials.go
rename to credentials/credentials.go
diff --git a/rpc/interop/client/client.go b/interop/client/client.go
similarity index 100%
rename from rpc/interop/client/client.go
rename to interop/client/client.go
diff --git a/rpc/interop/client/testdata/ca.pem b/interop/client/testdata/ca.pem
similarity index 100%
rename from rpc/interop/client/testdata/ca.pem
rename to interop/client/testdata/ca.pem
diff --git a/rpc/interop/client/testdata/server1.key b/interop/client/testdata/server1.key
similarity index 100%
rename from rpc/interop/client/testdata/server1.key
rename to interop/client/testdata/server1.key
diff --git a/rpc/interop/client/testdata/server1.pem b/interop/client/testdata/server1.pem
similarity index 100%
rename from rpc/interop/client/testdata/server1.pem
rename to interop/client/testdata/server1.pem
diff --git a/rpc/interop/server/server.go b/interop/server/server.go
similarity index 100%
rename from rpc/interop/server/server.go
rename to interop/server/server.go
diff --git a/rpc/interop/server/testdata/ca.pem b/interop/server/testdata/ca.pem
similarity index 100%
rename from rpc/interop/server/testdata/ca.pem
rename to interop/server/testdata/ca.pem
diff --git a/rpc/interop/server/testdata/server1.key b/interop/server/testdata/server1.key
similarity index 100%
rename from rpc/interop/server/testdata/server1.key
rename to interop/server/testdata/server1.key
diff --git a/rpc/interop/server/testdata/server1.pem b/interop/server/testdata/server1.pem
similarity index 100%
rename from rpc/interop/server/testdata/server1.pem
rename to interop/server/testdata/server1.pem
diff --git a/rpc/interop/testdata/messages.proto b/interop/testdata/messages.proto
similarity index 100%
rename from rpc/interop/testdata/messages.proto
rename to interop/testdata/messages.proto
diff --git a/rpc/interop/testdata/test.proto b/interop/testdata/test.proto
similarity index 100%
rename from rpc/interop/testdata/test.proto
rename to interop/testdata/test.proto
diff --git a/rpc/interop/testdata/test_proto.pb.go b/interop/testdata/test_proto.pb.go
similarity index 100%
rename from rpc/interop/testdata/test_proto.pb.go
rename to interop/testdata/test_proto.pb.go
diff --git a/rpc/interop/testdata/test_proto_grpc.pb.go b/interop/testdata/test_proto_grpc.pb.go
similarity index 100%
rename from rpc/interop/testdata/test_proto_grpc.pb.go
rename to interop/testdata/test_proto_grpc.pb.go
diff --git a/rpc/metadata/metadata.go b/metadata/metadata.go
similarity index 100%
rename from rpc/metadata/metadata.go
rename to metadata/metadata.go
diff --git a/rpc/metadata/metadata_test.go b/metadata/metadata_test.go
similarity index 100%
rename from rpc/metadata/metadata_test.go
rename to metadata/metadata_test.go
diff --git a/rpc/rpc_util.go b/rpc_util.go
similarity index 100%
rename from rpc/rpc_util.go
rename to rpc_util.go
diff --git a/rpc/rpc_util_test.go b/rpc_util_test.go
similarity index 100%
rename from rpc/rpc_util_test.go
rename to rpc_util_test.go
diff --git a/rpc/server.go b/server.go
similarity index 100%
rename from rpc/server.go
rename to server.go
diff --git a/rpc/stream.go b/stream.go
similarity index 100%
rename from rpc/stream.go
rename to stream.go
diff --git a/rpc/test/end2end_test.go b/test/end2end_test.go
similarity index 100%
rename from rpc/test/end2end_test.go
rename to test/end2end_test.go
diff --git a/rpc/test/testdata/ca.pem b/test/testdata/ca.pem
similarity index 100%
rename from rpc/test/testdata/ca.pem
rename to test/testdata/ca.pem
diff --git a/rpc/test/testdata/server1.key b/test/testdata/server1.key
similarity index 100%
rename from rpc/test/testdata/server1.key
rename to test/testdata/server1.key
diff --git a/rpc/test/testdata/server1.pem b/test/testdata/server1.pem
similarity index 100%
rename from rpc/test/testdata/server1.pem
rename to test/testdata/server1.pem
diff --git a/rpc/test/testdata/test.pb.go b/test/testdata/test.pb.go
similarity index 100%
rename from rpc/test/testdata/test.pb.go
rename to test/testdata/test.pb.go
diff --git a/rpc/test/testdata/test.proto b/test/testdata/test.proto
similarity index 100%
rename from rpc/test/testdata/test.proto
rename to test/testdata/test.proto
diff --git a/rpc/test/testdata/test_grpc.pb.go b/test/testdata/test_grpc.pb.go
similarity index 100%
rename from rpc/test/testdata/test_grpc.pb.go
rename to test/testdata/test_grpc.pb.go
diff --git a/rpc/transport/control.go b/transport/control.go
similarity index 100%
rename from rpc/transport/control.go
rename to transport/control.go
diff --git a/rpc/transport/http2_client_transport.go b/transport/http2_client_transport.go
similarity index 100%
rename from rpc/transport/http2_client_transport.go
rename to transport/http2_client_transport.go
diff --git a/rpc/transport/http2_server_transport.go b/transport/http2_server_transport.go
similarity index 100%
rename from rpc/transport/http2_server_transport.go
rename to transport/http2_server_transport.go
diff --git a/rpc/transport/http_util.go b/transport/http_util.go
similarity index 100%
rename from rpc/transport/http_util.go
rename to transport/http_util.go
diff --git a/rpc/transport/http_util_test.go b/transport/http_util_test.go
similarity index 100%
rename from rpc/transport/http_util_test.go
rename to transport/http_util_test.go
diff --git a/rpc/transport/testdata/ca.pem b/transport/testdata/ca.pem
similarity index 100%
rename from rpc/transport/testdata/ca.pem
rename to transport/testdata/ca.pem
diff --git a/rpc/transport/testdata/server1.key b/transport/testdata/server1.key
similarity index 100%
rename from rpc/transport/testdata/server1.key
rename to transport/testdata/server1.key
diff --git a/rpc/transport/testdata/server1.pem b/transport/testdata/server1.pem
similarity index 100%
rename from rpc/transport/testdata/server1.pem
rename to transport/testdata/server1.pem
diff --git a/rpc/transport/transport.go b/transport/transport.go
similarity index 100%
rename from rpc/transport/transport.go
rename to transport/transport.go
diff --git a/rpc/transport/transport_test.go b/transport/transport_test.go
similarity index 100%
rename from rpc/transport/transport_test.go
rename to transport/transport_test.go

From 9e789c396bcd1edca9e637e32b1127ff0b26b7ed Mon Sep 17 00:00:00 2001
From: David Symonds <dsymonds@golang.org>
Date: Mon, 9 Feb 2015 11:35:38 +1100
Subject: [PATCH 2/5] Rename top level package from "rpc" to "grpc".

Also move the nascent package doc to doc.go.
---
 call.go                                |  2 +-
 clientconn.go                          |  5 +-
 doc.go                                 |  4 ++
 interop/testdata/test_proto_grpc.pb.go | 90 ++++++++++++-------------
 rpc_util.go                            |  2 +-
 rpc_util_test.go                       |  2 +-
 server.go                              |  2 +-
 stream.go                              |  2 +-
 test/testdata/test_grpc.pb.go          | 91 +++++++++++++-------------
 9 files changed, 99 insertions(+), 101 deletions(-)
 create mode 100644 doc.go

diff --git a/call.go b/call.go
index c8abda7d..4fc3ba1b 100644
--- a/call.go
+++ b/call.go
@@ -31,7 +31,7 @@
  *
  */
 
-package rpc
+package grpc
 
 import (
 	"io"
diff --git a/clientconn.go b/clientconn.go
index 358e5df6..696f8f8b 100644
--- a/clientconn.go
+++ b/clientconn.go
@@ -31,10 +31,7 @@
  *
  */
 
-/*
-Package rpc implements various components to perform RPC on top of transport package.
-*/
-package rpc
+package grpc
 
 import (
 	"fmt"
diff --git a/doc.go b/doc.go
new file mode 100644
index 00000000..621b4254
--- /dev/null
+++ b/doc.go
@@ -0,0 +1,4 @@
+/*
+Package grpc implements various components to perform RPC on top of transport package.
+*/
+package grpc
diff --git a/interop/testdata/test_proto_grpc.pb.go b/interop/testdata/test_proto_grpc.pb.go
index 9d9a57ac..1ecc2524 100644
--- a/interop/testdata/test_proto_grpc.pb.go
+++ b/interop/testdata/test_proto_grpc.pb.go
@@ -35,49 +35,49 @@ package grpc_testing
 
 import (
 	"fmt"
-	"github.com/grpc/grpc-go/rpc"
 	proto "github.com/golang/protobuf/proto"
 	context "golang.org/x/net/context"
+	"google.golang.org/grpc"
 	"io"
 )
 
 type TestServiceClient interface {
-	EmptyCall(ctx context.Context, in *Empty, opts ...rpc.CallOption) (*Empty, error)
-	UnaryCall(ctx context.Context, in *SimpleRequest, opts ...rpc.CallOption) (*SimpleResponse, error)
-	StreamingOutputCall(ctx context.Context, m *StreamingOutputCallRequest, opts ...rpc.CallOption) (TestService_StreamingOutputCallClient, error)
-	StreamingInputCall(ctx context.Context, opts ...rpc.CallOption) (TestService_StreamingInputCallClient, error)
-	FullDuplexCall(ctx context.Context, opts ...rpc.CallOption) (TestService_FullDuplexCallClient, error)
-	HalfDuplexCall(ctx context.Context, opts ...rpc.CallOption) (TestService_HalfDuplexCallClient, error)
+	EmptyCall(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error)
+	UnaryCall(ctx context.Context, in *SimpleRequest, opts ...grpc.CallOption) (*SimpleResponse, error)
+	StreamingOutputCall(ctx context.Context, m *StreamingOutputCallRequest, opts ...grpc.CallOption) (TestService_StreamingOutputCallClient, error)
+	StreamingInputCall(ctx context.Context, opts ...grpc.CallOption) (TestService_StreamingInputCallClient, error)
+	FullDuplexCall(ctx context.Context, opts ...grpc.CallOption) (TestService_FullDuplexCallClient, error)
+	HalfDuplexCall(ctx context.Context, opts ...grpc.CallOption) (TestService_HalfDuplexCallClient, error)
 }
 
 type testServiceClient struct {
-	cc *rpc.ClientConn
+	cc *grpc.ClientConn
 }
 
-func NewTestServiceClient(cc *rpc.ClientConn) TestServiceClient {
+func NewTestServiceClient(cc *grpc.ClientConn) TestServiceClient {
 	return &testServiceClient{cc}
 }
 
-func (c *testServiceClient) EmptyCall(ctx context.Context, in *Empty, opts ...rpc.CallOption) (*Empty, error) {
+func (c *testServiceClient) EmptyCall(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) {
 	out := new(Empty)
-	err := rpc.Invoke(ctx, "/grpc.testing.TestService/EmptyCall", in, out, c.cc, opts...)
+	err := grpc.Invoke(ctx, "/grpc.testing.TestService/EmptyCall", in, out, c.cc, opts...)
 	if err != nil {
 		return nil, err
 	}
 	return out, nil
 }
 
-func (c *testServiceClient) UnaryCall(ctx context.Context, in *SimpleRequest, opts ...rpc.CallOption) (*SimpleResponse, error) {
+func (c *testServiceClient) UnaryCall(ctx context.Context, in *SimpleRequest, opts ...grpc.CallOption) (*SimpleResponse, error) {
 	out := new(SimpleResponse)
-	err := rpc.Invoke(ctx, "/grpc.testing.TestService/UnaryCall", in, out, c.cc, opts...)
+	err := grpc.Invoke(ctx, "/grpc.testing.TestService/UnaryCall", in, out, c.cc, opts...)
 	if err != nil {
 		return nil, err
 	}
 	return out, nil
 }
 
-func (c *testServiceClient) StreamingOutputCall(ctx context.Context, m *StreamingOutputCallRequest, opts ...rpc.CallOption) (TestService_StreamingOutputCallClient, error) {
-	stream, err := rpc.NewClientStream(ctx, c.cc, "/grpc.testing.TestService/StreamingOutputCall", opts...)
+func (c *testServiceClient) StreamingOutputCall(ctx context.Context, m *StreamingOutputCallRequest, opts ...grpc.CallOption) (TestService_StreamingOutputCallClient, error) {
+	stream, err := grpc.NewClientStream(ctx, c.cc, "/grpc.testing.TestService/StreamingOutputCall", opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -93,11 +93,11 @@ func (c *testServiceClient) StreamingOutputCall(ctx context.Context, m *Streamin
 
 type TestService_StreamingOutputCallClient interface {
 	Recv() (*StreamingOutputCallResponse, error)
-	rpc.ClientStream
+	grpc.ClientStream
 }
 
 type testServiceStreamingOutputCallClient struct {
-	rpc.ClientStream
+	grpc.ClientStream
 }
 
 func (x *testServiceStreamingOutputCallClient) Recv() (*StreamingOutputCallResponse, error) {
@@ -108,8 +108,8 @@ func (x *testServiceStreamingOutputCallClient) Recv() (*StreamingOutputCallRespo
 	return m, nil
 }
 
-func (c *testServiceClient) StreamingInputCall(ctx context.Context, opts ...rpc.CallOption) (TestService_StreamingInputCallClient, error) {
-	stream, err := rpc.NewClientStream(ctx, c.cc, "/grpc.testing.TestService/StreamingInputCall", opts...)
+func (c *testServiceClient) StreamingInputCall(ctx context.Context, opts ...grpc.CallOption) (TestService_StreamingInputCallClient, error) {
+	stream, err := grpc.NewClientStream(ctx, c.cc, "/grpc.testing.TestService/StreamingInputCall", opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -119,11 +119,11 @@ func (c *testServiceClient) StreamingInputCall(ctx context.Context, opts ...rpc.
 type TestService_StreamingInputCallClient interface {
 	Send(*StreamingInputCallRequest) error
 	CloseAndRecv() (*StreamingInputCallResponse, error)
-	rpc.ClientStream
+	grpc.ClientStream
 }
 
 type testServiceStreamingInputCallClient struct {
-	rpc.ClientStream
+	grpc.ClientStream
 }
 
 func (x *testServiceStreamingInputCallClient) Send(m *StreamingInputCallRequest) error {
@@ -146,8 +146,8 @@ func (x *testServiceStreamingInputCallClient) CloseAndRecv() (*StreamingInputCal
 	return m, fmt.Errorf("Violate gRPC client streaming protocol: no EOF after the response.")
 }
 
-func (c *testServiceClient) FullDuplexCall(ctx context.Context, opts ...rpc.CallOption) (TestService_FullDuplexCallClient, error) {
-	stream, err := rpc.NewClientStream(ctx, c.cc, "/grpc.testing.TestService/FullDuplexCall", opts...)
+func (c *testServiceClient) FullDuplexCall(ctx context.Context, opts ...grpc.CallOption) (TestService_FullDuplexCallClient, error) {
+	stream, err := grpc.NewClientStream(ctx, c.cc, "/grpc.testing.TestService/FullDuplexCall", opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -157,11 +157,11 @@ func (c *testServiceClient) FullDuplexCall(ctx context.Context, opts ...rpc.Call
 type TestService_FullDuplexCallClient interface {
 	Send(*StreamingOutputCallRequest) error
 	Recv() (*StreamingOutputCallResponse, error)
-	rpc.ClientStream
+	grpc.ClientStream
 }
 
 type testServiceFullDuplexCallClient struct {
-	rpc.ClientStream
+	grpc.ClientStream
 }
 
 func (x *testServiceFullDuplexCallClient) Send(m *StreamingOutputCallRequest) error {
@@ -176,8 +176,8 @@ func (x *testServiceFullDuplexCallClient) Recv() (*StreamingOutputCallResponse,
 	return m, nil
 }
 
-func (c *testServiceClient) HalfDuplexCall(ctx context.Context, opts ...rpc.CallOption) (TestService_HalfDuplexCallClient, error) {
-	stream, err := rpc.NewClientStream(ctx, c.cc, "/grpc.testing.TestService/HalfDuplexCall", opts...)
+func (c *testServiceClient) HalfDuplexCall(ctx context.Context, opts ...grpc.CallOption) (TestService_HalfDuplexCallClient, error) {
+	stream, err := grpc.NewClientStream(ctx, c.cc, "/grpc.testing.TestService/HalfDuplexCall", opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -187,11 +187,11 @@ func (c *testServiceClient) HalfDuplexCall(ctx context.Context, opts ...rpc.Call
 type TestService_HalfDuplexCallClient interface {
 	Send(*StreamingOutputCallRequest) error
 	Recv() (*StreamingOutputCallResponse, error)
-	rpc.ClientStream
+	grpc.ClientStream
 }
 
 type testServiceHalfDuplexCallClient struct {
-	rpc.ClientStream
+	grpc.ClientStream
 }
 
 func (x *testServiceHalfDuplexCallClient) Send(m *StreamingOutputCallRequest) error {
@@ -215,7 +215,7 @@ type TestServiceServer interface {
 	HalfDuplexCall(TestService_HalfDuplexCallServer) error
 }
 
-func RegisterService(s *rpc.Server, srv TestServiceServer) {
+func RegisterService(s *grpc.Server, srv TestServiceServer) {
 	s.RegisterService(&_TestService_serviceDesc, srv)
 }
 
@@ -243,7 +243,7 @@ func _TestService_UnaryCall_Handler(srv interface{}, ctx context.Context, buf []
 	return out, nil
 }
 
-func _TestService_StreamingOutputCall_Handler(srv interface{}, stream rpc.ServerStream) error {
+func _TestService_StreamingOutputCall_Handler(srv interface{}, stream grpc.ServerStream) error {
 	m := new(StreamingOutputCallRequest)
 	if err := stream.RecvProto(m); err != nil {
 		return err
@@ -253,29 +253,29 @@ func _TestService_StreamingOutputCall_Handler(srv interface{}, stream rpc.Server
 
 type TestService_StreamingOutputCallServer interface {
 	Send(*StreamingOutputCallResponse) error
-	rpc.ServerStream
+	grpc.ServerStream
 }
 
 type testServiceStreamingOutputCallServer struct {
-	rpc.ServerStream
+	grpc.ServerStream
 }
 
 func (x *testServiceStreamingOutputCallServer) Send(m *StreamingOutputCallResponse) error {
 	return x.ServerStream.SendProto(m)
 }
 
-func _TestService_StreamingInputCall_Handler(srv interface{}, stream rpc.ServerStream) error {
+func _TestService_StreamingInputCall_Handler(srv interface{}, stream grpc.ServerStream) error {
 	return srv.(TestServiceServer).StreamingInputCall(&testServiceStreamingInputCallServer{stream})
 }
 
 type TestService_StreamingInputCallServer interface {
 	SendAndClose(*StreamingInputCallResponse) error
 	Recv() (*StreamingInputCallRequest, error)
-	rpc.ServerStream
+	grpc.ServerStream
 }
 
 type testServiceStreamingInputCallServer struct {
-	rpc.ServerStream
+	grpc.ServerStream
 }
 
 func (x *testServiceStreamingInputCallServer) SendAndClose(m *StreamingInputCallResponse) error {
@@ -293,18 +293,18 @@ func (x *testServiceStreamingInputCallServer) Recv() (*StreamingInputCallRequest
 	return m, nil
 }
 
-func _TestService_FullDuplexCall_Handler(srv interface{}, stream rpc.ServerStream) error {
+func _TestService_FullDuplexCall_Handler(srv interface{}, stream grpc.ServerStream) error {
 	return srv.(TestServiceServer).FullDuplexCall(&testServiceFullDuplexCallServer{stream})
 }
 
 type TestService_FullDuplexCallServer interface {
 	Send(*StreamingOutputCallResponse) error
 	Recv() (*StreamingOutputCallRequest, error)
-	rpc.ServerStream
+	grpc.ServerStream
 }
 
 type testServiceFullDuplexCallServer struct {
-	rpc.ServerStream
+	grpc.ServerStream
 }
 
 func (x *testServiceFullDuplexCallServer) Send(m *StreamingOutputCallResponse) error {
@@ -319,18 +319,18 @@ func (x *testServiceFullDuplexCallServer) Recv() (*StreamingOutputCallRequest, e
 	return m, nil
 }
 
-func _TestService_HalfDuplexCall_Handler(srv interface{}, stream rpc.ServerStream) error {
+func _TestService_HalfDuplexCall_Handler(srv interface{}, stream grpc.ServerStream) error {
 	return srv.(TestServiceServer).HalfDuplexCall(&testServiceHalfDuplexCallServer{stream})
 }
 
 type TestService_HalfDuplexCallServer interface {
 	Send(*StreamingOutputCallResponse) error
 	Recv() (*StreamingOutputCallRequest, error)
-	rpc.ServerStream
+	grpc.ServerStream
 }
 
 type testServiceHalfDuplexCallServer struct {
-	rpc.ServerStream
+	grpc.ServerStream
 }
 
 func (x *testServiceHalfDuplexCallServer) Send(m *StreamingOutputCallResponse) error {
@@ -345,10 +345,10 @@ func (x *testServiceHalfDuplexCallServer) Recv() (*StreamingOutputCallRequest, e
 	return m, nil
 }
 
-var _TestService_serviceDesc = rpc.ServiceDesc{
+var _TestService_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "grpc.testing.TestService",
 	HandlerType: (*TestServiceServer)(nil),
-	Methods: []rpc.MethodDesc{
+	Methods: []grpc.MethodDesc{
 		{
 			MethodName: "EmptyCall",
 			Handler:    _TestService_EmptyCall_Handler,
@@ -358,7 +358,7 @@ var _TestService_serviceDesc = rpc.ServiceDesc{
 			Handler:    _TestService_UnaryCall_Handler,
 		},
 	},
-	Streams: []rpc.StreamDesc{
+	Streams: []grpc.StreamDesc{
 		{
 			StreamName: "StreamingOutputCall",
 			Handler:    _TestService_StreamingOutputCall_Handler,
diff --git a/rpc_util.go b/rpc_util.go
index fa72471e..e84d5587 100644
--- a/rpc_util.go
+++ b/rpc_util.go
@@ -31,7 +31,7 @@
  *
  */
 
-package rpc
+package grpc
 
 import (
 	"bytes"
diff --git a/rpc_util_test.go b/rpc_util_test.go
index 6b3603a4..4814ba81 100644
--- a/rpc_util_test.go
+++ b/rpc_util_test.go
@@ -31,7 +31,7 @@
  *
  */
 
-package rpc
+package grpc
 
 import (
 	"bytes"
diff --git a/server.go b/server.go
index bac59062..fcb3205f 100644
--- a/server.go
+++ b/server.go
@@ -31,7 +31,7 @@
  *
  */
 
-package rpc
+package grpc
 
 import (
 	"fmt"
diff --git a/stream.go b/stream.go
index d86e10f7..6932280e 100644
--- a/stream.go
+++ b/stream.go
@@ -31,7 +31,7 @@
  *
  */
 
-package rpc
+package grpc
 
 import (
 	"io"
diff --git a/test/testdata/test_grpc.pb.go b/test/testdata/test_grpc.pb.go
index 618aea5a..5192d299 100644
--- a/test/testdata/test_grpc.pb.go
+++ b/test/testdata/test_grpc.pb.go
@@ -35,38 +35,38 @@ package test
 
 import (
 	"fmt"
-	"io"
-	"github.com/grpc/grpc-go/rpc"
-	context "golang.org/x/net/context"
 	proto "github.com/golang/protobuf/proto"
+	context "golang.org/x/net/context"
+	"google.golang.org/grpc"
+	"io"
 )
 
 type MathClient interface {
-	Div(ctx context.Context, in *DivArgs, opts ...rpc.CallOption) (*DivReply, error)
-	DivMany(ctx context.Context, opts ...rpc.CallOption) (Math_DivManyClient, error)
-	Fib(ctx context.Context, m *FibArgs, opts ...rpc.CallOption) (Math_FibClient, error)
-	Sum(ctx context.Context, opts ...rpc.CallOption) (Math_SumClient, error)
+	Div(ctx context.Context, in *DivArgs, opts ...grpc.CallOption) (*DivReply, error)
+	DivMany(ctx context.Context, opts ...grpc.CallOption) (Math_DivManyClient, error)
+	Fib(ctx context.Context, m *FibArgs, opts ...grpc.CallOption) (Math_FibClient, error)
+	Sum(ctx context.Context, opts ...grpc.CallOption) (Math_SumClient, error)
 }
 
 type mathClient struct {
-	cc *rpc.ClientConn
+	cc *grpc.ClientConn
 }
 
-func NewMathClient(cc *rpc.ClientConn) MathClient {
+func NewMathClient(cc *grpc.ClientConn) MathClient {
 	return &mathClient{cc}
 }
 
-func (c *mathClient) Div(ctx context.Context, in *DivArgs, opts ...rpc.CallOption) (*DivReply, error) {
+func (c *mathClient) Div(ctx context.Context, in *DivArgs, opts ...grpc.CallOption) (*DivReply, error) {
 	out := new(DivReply)
-	err := rpc.Invoke(ctx, "/test.Math/Div", in, out, c.cc, opts...)
+	err := grpc.Invoke(ctx, "/test.Math/Div", in, out, c.cc, opts...)
 	if err != nil {
 		return nil, err
 	}
 	return out, nil
 }
 
-func (c *mathClient) DivMany(ctx context.Context, opts ...rpc.CallOption) (Math_DivManyClient, error) {
-	stream, err := rpc.NewClientStream(ctx, c.cc, "/test.Math/DivMany", opts...)
+func (c *mathClient) DivMany(ctx context.Context, opts ...grpc.CallOption) (Math_DivManyClient, error) {
+	stream, err := grpc.NewClientStream(ctx, c.cc, "/test.Math/DivMany", opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -76,11 +76,11 @@ func (c *mathClient) DivMany(ctx context.Context, opts ...rpc.CallOption) (Math_
 type Math_DivManyClient interface {
 	Send(*DivArgs) error
 	Recv() (*DivReply, error)
-	rpc.ClientStream
+	grpc.ClientStream
 }
 
 type mathDivManyClient struct {
-	rpc.ClientStream
+	grpc.ClientStream
 }
 
 func (x *mathDivManyClient) Send(m *DivArgs) error {
@@ -95,8 +95,8 @@ func (x *mathDivManyClient) Recv() (*DivReply, error) {
 	return m, nil
 }
 
-func (c *mathClient) Fib(ctx context.Context, m *FibArgs, opts ...rpc.CallOption) (Math_FibClient, error) {
-	stream, err := rpc.NewClientStream(ctx, c.cc, "/test.Math/Fib", opts...)
+func (c *mathClient) Fib(ctx context.Context, m *FibArgs, opts ...grpc.CallOption) (Math_FibClient, error) {
+	stream, err := grpc.NewClientStream(ctx, c.cc, "/test.Math/Fib", opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -112,11 +112,11 @@ func (c *mathClient) Fib(ctx context.Context, m *FibArgs, opts ...rpc.CallOption
 
 type Math_FibClient interface {
 	Recv() (*Num, error)
-	rpc.ClientStream
+	grpc.ClientStream
 }
 
 type mathFibClient struct {
-	rpc.ClientStream
+	grpc.ClientStream
 }
 
 func (x *mathFibClient) Recv() (*Num, error) {
@@ -127,8 +127,8 @@ func (x *mathFibClient) Recv() (*Num, error) {
 	return m, nil
 }
 
-func (c *mathClient) Sum(ctx context.Context, opts ...rpc.CallOption) (Math_SumClient, error) {
-	stream, err := rpc.NewClientStream(ctx, c.cc, "/test.Math/Sum", opts...)
+func (c *mathClient) Sum(ctx context.Context, opts ...grpc.CallOption) (Math_SumClient, error) {
+	stream, err := grpc.NewClientStream(ctx, c.cc, "/test.Math/Sum", opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -138,11 +138,11 @@ func (c *mathClient) Sum(ctx context.Context, opts ...rpc.CallOption) (Math_SumC
 type Math_SumClient interface {
 	Send(*Num) error
 	CloseAndRecv() (*Num, error)
-	rpc.ClientStream
+	grpc.ClientStream
 }
 
 type mathSumClient struct {
-	rpc.ClientStream
+	grpc.ClientStream
 }
 
 func (x *mathSumClient) Send(m *Num) error {
@@ -165,7 +165,6 @@ func (x *mathSumClient) CloseAndRecv() (*Num, error) {
 	return m, fmt.Errorf("Violate gRPC client streaming protocol: no EOF after the response.")
 }
 
-
 type MathServer interface {
 	Div(context.Context, *DivArgs) (*DivReply, error)
 	DivMany(Math_DivManyServer) error
@@ -173,7 +172,7 @@ type MathServer interface {
 	Sum(Math_SumServer) error
 }
 
-func RegisterService(s *rpc.Server, srv MathServer) {
+func RegisterService(s *grpc.Server, srv MathServer) {
 	s.RegisterService(&_Math_serviceDesc, srv)
 }
 
@@ -189,18 +188,18 @@ func _Math_Div_Handler(srv interface{}, ctx context.Context, buf []byte) (proto.
 	return out, nil
 }
 
-func _Math_DivMany_Handler(srv interface{}, stream rpc.ServerStream) error {
+func _Math_DivMany_Handler(srv interface{}, stream grpc.ServerStream) error {
 	return srv.(MathServer).DivMany(&mathDivManyServer{stream})
 }
 
 type Math_DivManyServer interface {
 	Send(*DivReply) error
 	Recv() (*DivArgs, error)
-	rpc.ServerStream
+	grpc.ServerStream
 }
 
 type mathDivManyServer struct {
-	rpc.ServerStream
+	grpc.ServerStream
 }
 
 func (x *mathDivManyServer) Send(m *DivReply) error {
@@ -215,7 +214,7 @@ func (x *mathDivManyServer) Recv() (*DivArgs, error) {
 	return m, nil
 }
 
-func _Math_Fib_Handler(srv interface{}, stream rpc.ServerStream) error {
+func _Math_Fib_Handler(srv interface{}, stream grpc.ServerStream) error {
 	m := new(FibArgs)
 	if err := stream.RecvProto(m); err != nil {
 		return err
@@ -225,29 +224,29 @@ func _Math_Fib_Handler(srv interface{}, stream rpc.ServerStream) error {
 
 type Math_FibServer interface {
 	Send(*Num) error
-	rpc.ServerStream
+	grpc.ServerStream
 }
 
 type mathFibServer struct {
-	rpc.ServerStream
+	grpc.ServerStream
 }
 
 func (x *mathFibServer) Send(m *Num) error {
 	return x.ServerStream.SendProto(m)
 }
 
-func _Math_Sum_Handler(srv interface{}, stream rpc.ServerStream) error {
+func _Math_Sum_Handler(srv interface{}, stream grpc.ServerStream) error {
 	return srv.(MathServer).Sum(&mathSumServer{stream})
 }
 
 type Math_SumServer interface {
 	SendAndClose(*Num) error
 	Recv() (*Num, error)
-	rpc.ServerStream
+	grpc.ServerStream
 }
 
 type mathSumServer struct {
-	rpc.ServerStream
+	grpc.ServerStream
 }
 
 func (x *mathSumServer) SendAndClose(m *Num) error {
@@ -265,29 +264,27 @@ func (x *mathSumServer) Recv() (*Num, error) {
 	return m, nil
 }
 
-var _Math_serviceDesc = rpc.ServiceDesc{
+var _Math_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "test.Math",
 	HandlerType: (*MathServer)(nil),
-	Methods: []rpc.MethodDesc{
+	Methods: []grpc.MethodDesc{
 		{
-			MethodName:	"Div",
-			Handler:	_Math_Div_Handler,
+			MethodName: "Div",
+			Handler:    _Math_Div_Handler,
 		},
 	},
-	Streams: []rpc.StreamDesc{
+	Streams: []grpc.StreamDesc{
 		{
-			StreamName:	"DivMany",
-			Handler:	_Math_DivMany_Handler,
+			StreamName: "DivMany",
+			Handler:    _Math_DivMany_Handler,
 		},
 		{
-			StreamName:	"Fib",
-			Handler:	_Math_Fib_Handler,
+			StreamName: "Fib",
+			Handler:    _Math_Fib_Handler,
 		},
 		{
-			StreamName:	"Sum",
-			Handler:	_Math_Sum_Handler,
+			StreamName: "Sum",
+			Handler:    _Math_Sum_Handler,
 		},
 	},
 }
-
-

From 416f68f4b394751d2b438a10b19a512e77668b7d Mon Sep 17 00:00:00 2001
From: David Symonds <dsymonds@golang.org>
Date: Mon, 9 Feb 2015 11:39:06 +1100
Subject: [PATCH 3/5] Update import paths to use the new official location of
 the Go gRPC package.

---
 README.md                           |  2 +-
 call.go                             |  6 +++---
 clientconn.go                       |  4 ++--
 compiler/go_generator.cc            |  2 +-
 interop/client/client.go            |  6 +++---
 interop/server/server.go            |  6 +++---
 rpc_util.go                         |  6 +++---
 rpc_util_test.go                    |  4 ++--
 server.go                           |  6 +++---
 stream.go                           |  6 +++---
 test/end2end_test.go                | 10 +++++-----
 transport/http2_client_transport.go |  6 +++---
 transport/http2_server_transport.go |  4 ++--
 transport/http_util.go              |  4 ++--
 transport/transport.go              |  6 +++---
 transport/transport_test.go         |  4 ++--
 16 files changed, 41 insertions(+), 41 deletions(-)

diff --git a/README.md b/README.md
index 62cf6190..a0b45522 100644
--- a/README.md
+++ b/README.md
@@ -2,4 +2,4 @@ gRPC-Go: a Go implementation of gRPC, Google's RPC library
 
 To install this package, you need to install Go 1.4 and setup your Go workspace on your computer. The simplest way to install the library is to run:
 
-go get github.com/grpc/grpc-go/rpc
+go get google.golang.org/grpc
diff --git a/call.go b/call.go
index 4fc3ba1b..9d3c82c5 100644
--- a/call.go
+++ b/call.go
@@ -37,9 +37,9 @@ import (
 	"io"
 
 	"github.com/golang/protobuf/proto"
-	"github.com/grpc/grpc-go/rpc/codes"
-	"github.com/grpc/grpc-go/rpc/metadata"
-	"github.com/grpc/grpc-go/rpc/transport"
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/metadata"
+	"google.golang.org/grpc/transport"
 	"golang.org/x/net/context"
 )
 
diff --git a/clientconn.go b/clientconn.go
index 696f8f8b..c4a343b7 100644
--- a/clientconn.go
+++ b/clientconn.go
@@ -38,8 +38,8 @@ import (
 	"sync"
 	"time"
 
-	"github.com/grpc/grpc-go/rpc/credentials"
-	"github.com/grpc/grpc-go/rpc/transport"
+	"google.golang.org/grpc/credentials"
+	"google.golang.org/grpc/transport"
 	"golang.org/x/net/context"
 )
 
diff --git a/compiler/go_generator.cc b/compiler/go_generator.cc
index 098b1982..9e6dd06a 100644
--- a/compiler/go_generator.cc
+++ b/compiler/go_generator.cc
@@ -617,7 +617,7 @@ string GetServices(const google::protobuf::FileDescriptor* file,
         "\t\"io\"\n");
   }
   printer.Print(
-      "\t\"github.com/google/grpc-go/rpc\"\n"
+      "\t\"google.golang.org/grpc\"\n"
       "\tcontext \"golang.org/x/net/context\"\n"
       "\tproto \"github.com/golang/protobuf/proto\"\n"
       ")\n\n");
diff --git a/interop/client/client.go b/interop/client/client.go
index 4562c352..bba50c18 100644
--- a/interop/client/client.go
+++ b/interop/client/client.go
@@ -41,9 +41,9 @@ import (
 	"strconv"
 
 	"github.com/golang/protobuf/proto"
-	"github.com/grpc/grpc-go/rpc"
-	"github.com/grpc/grpc-go/rpc/credentials"
-	testpb "github.com/grpc/grpc-go/rpc/interop/testdata"
+	"google.golang.org/grpc"
+	"google.golang.org/grpc/credentials"
+	testpb "google.golang.org/grpc/interop/testdata"
 	"golang.org/x/net/context"
 )
 
diff --git a/interop/server/server.go b/interop/server/server.go
index 30f0e780..cde7fba1 100644
--- a/interop/server/server.go
+++ b/interop/server/server.go
@@ -42,9 +42,9 @@ import (
 	"strconv"
 	"time"
 
-	"github.com/grpc/grpc-go/rpc/credentials"
-	testpb "github.com/grpc/grpc-go/rpc/interop/testdata"
-	"github.com/grpc/grpc-go/rpc"
+	"google.golang.org/grpc/credentials"
+	testpb "google.golang.org/grpc/interop/testdata"
+	"google.golang.org/grpc"
 	"github.com/golang/protobuf/proto"
 	"golang.org/x/net/context"
 )
diff --git a/rpc_util.go b/rpc_util.go
index e84d5587..2a536fb3 100644
--- a/rpc_util.go
+++ b/rpc_util.go
@@ -43,9 +43,9 @@ import (
 	"time"
 
 	"github.com/golang/protobuf/proto"
-	"github.com/grpc/grpc-go/rpc/codes"
-	"github.com/grpc/grpc-go/rpc/metadata"
-	"github.com/grpc/grpc-go/rpc/transport"
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/metadata"
+	"google.golang.org/grpc/transport"
 	"golang.org/x/net/context"
 )
 
diff --git a/rpc_util_test.go b/rpc_util_test.go
index 4814ba81..082c697c 100644
--- a/rpc_util_test.go
+++ b/rpc_util_test.go
@@ -42,8 +42,8 @@ import (
 	"time"
 
 	"github.com/golang/protobuf/proto"
-	"github.com/grpc/grpc-go/rpc/codes"
-	"github.com/grpc/grpc-go/rpc/transport"
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/transport"
 	"golang.org/x/net/context"
 )
 
diff --git a/server.go b/server.go
index fcb3205f..55295fda 100644
--- a/server.go
+++ b/server.go
@@ -43,9 +43,9 @@ import (
 	"sync"
 
 	"github.com/golang/protobuf/proto"
-	"github.com/grpc/grpc-go/rpc/codes"
-	"github.com/grpc/grpc-go/rpc/metadata"
-	"github.com/grpc/grpc-go/rpc/transport"
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/metadata"
+	"google.golang.org/grpc/transport"
 	"golang.org/x/net/context"
 )
 
diff --git a/stream.go b/stream.go
index 6932280e..73681e9e 100644
--- a/stream.go
+++ b/stream.go
@@ -37,9 +37,9 @@ import (
 	"io"
 
 	"github.com/golang/protobuf/proto"
-	"github.com/grpc/grpc-go/rpc/codes"
-	"github.com/grpc/grpc-go/rpc/metadata"
-	"github.com/grpc/grpc-go/rpc/transport"
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/metadata"
+	"google.golang.org/grpc/transport"
 	"golang.org/x/net/context"
 )
 
diff --git a/test/end2end_test.go b/test/end2end_test.go
index f401fd63..e41cbc87 100644
--- a/test/end2end_test.go
+++ b/test/end2end_test.go
@@ -47,11 +47,11 @@ import (
 	"time"
 
 	"github.com/golang/protobuf/proto"
-	"github.com/grpc/grpc-go/rpc"
-	"github.com/grpc/grpc-go/rpc/codes"
-	"github.com/grpc/grpc-go/rpc/credentials"
-	"github.com/grpc/grpc-go/rpc/metadata"
-	testpb "github.com/grpc/grpc-go/rpc/test/testdata"
+	"google.golang.org/grpc"
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/credentials"
+	"google.golang.org/grpc/metadata"
+	testpb "google.golang.org/grpc/test/testdata"
 	"golang.org/x/net/context"
 )
 
diff --git a/transport/http2_client_transport.go b/transport/http2_client_transport.go
index 7f2bac6b..e3e482fd 100644
--- a/transport/http2_client_transport.go
+++ b/transport/http2_client_transport.go
@@ -44,9 +44,9 @@ import (
 
 	"github.com/bradfitz/http2"
 	"github.com/bradfitz/http2/hpack"
-	"github.com/grpc/grpc-go/rpc/codes"
-	"github.com/grpc/grpc-go/rpc/credentials"
-	"github.com/grpc/grpc-go/rpc/metadata"
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/credentials"
+	"google.golang.org/grpc/metadata"
 	"golang.org/x/net/context"
 )
 
diff --git a/transport/http2_server_transport.go b/transport/http2_server_transport.go
index 39e50133..c9559706 100644
--- a/transport/http2_server_transport.go
+++ b/transport/http2_server_transport.go
@@ -45,8 +45,8 @@ import (
 
 	"github.com/bradfitz/http2"
 	"github.com/bradfitz/http2/hpack"
-	"github.com/grpc/grpc-go/rpc/codes"
-	"github.com/grpc/grpc-go/rpc/metadata"
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/metadata"
 	"golang.org/x/net/context"
 )
 
diff --git a/transport/http_util.go b/transport/http_util.go
index 0b6aa74c..2e2d5799 100644
--- a/transport/http_util.go
+++ b/transport/http_util.go
@@ -41,8 +41,8 @@ import (
 
 	"github.com/bradfitz/http2"
 	"github.com/bradfitz/http2/hpack"
-	"github.com/grpc/grpc-go/rpc/codes"
-	"github.com/grpc/grpc-go/rpc/metadata"
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/metadata"
 )
 
 const (
diff --git a/transport/transport.go b/transport/transport.go
index 6286f13f..aa49c760 100644
--- a/transport/transport.go
+++ b/transport/transport.go
@@ -44,9 +44,9 @@ import (
 	"net"
 	"sync"
 
-	"github.com/grpc/grpc-go/rpc/codes"
-	"github.com/grpc/grpc-go/rpc/credentials"
-	"github.com/grpc/grpc-go/rpc/metadata"
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/credentials"
+	"google.golang.org/grpc/metadata"
 	"golang.org/x/net/context"
 )
 
diff --git a/transport/transport_test.go b/transport/transport_test.go
index f5e09473..888b5b47 100644
--- a/transport/transport_test.go
+++ b/transport/transport_test.go
@@ -45,8 +45,8 @@ import (
 	"testing"
 	"time"
 
-	"github.com/grpc/grpc-go/rpc/codes"
-	"github.com/grpc/grpc-go/rpc/credentials"
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/credentials"
 	"golang.org/x/net/context"
 )
 

From 49a2ba59b63a049d5906794da377cd99b908b6b0 Mon Sep 17 00:00:00 2001
From: David Symonds <dsymonds@golang.org>
Date: Mon, 9 Feb 2015 11:49:35 +1100
Subject: [PATCH 4/5] Fix up a couple of other imports to use the new package
 name.

---
 interop/client/client.go |  8 ++++----
 interop/server/server.go |  8 ++++----
 test/end2end_test.go     | 30 +++++++++++++++---------------
 3 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/interop/client/client.go b/interop/client/client.go
index bba50c18..cc0f76fe 100644
--- a/interop/client/client.go
+++ b/interop/client/client.go
@@ -41,10 +41,10 @@ import (
 	"strconv"
 
 	"github.com/golang/protobuf/proto"
+	"golang.org/x/net/context"
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/credentials"
 	testpb "google.golang.org/grpc/interop/testdata"
-	"golang.org/x/net/context"
 )
 
 var (
@@ -225,7 +225,7 @@ func doPingPong(tc testpb.TestServiceClient) {
 func main() {
 	flag.Parse()
 	serverAddr := net.JoinHostPort(*serverHost, strconv.Itoa(*serverPort))
-	var opts []rpc.DialOption
+	var opts []grpc.DialOption
 	if *useTLS {
 		var sn string
 		if *tlsServerName != "" {
@@ -241,9 +241,9 @@ func main() {
 		} else {
 			creds = credentials.NewClientTLSFromCert(nil, sn)
 		}
-		opts = append(opts, rpc.WithClientTLS(creds))
+		opts = append(opts, grpc.WithClientTLS(creds))
 	}
-	conn, err := rpc.Dial(serverAddr, opts...)
+	conn, err := grpc.Dial(serverAddr, opts...)
 	if err != nil {
 		log.Fatalf("fail to dial: %v", err)
 	}
diff --git a/interop/server/server.go b/interop/server/server.go
index cde7fba1..8bfd37d9 100644
--- a/interop/server/server.go
+++ b/interop/server/server.go
@@ -42,11 +42,11 @@ import (
 	"strconv"
 	"time"
 
-	"google.golang.org/grpc/credentials"
-	testpb "google.golang.org/grpc/interop/testdata"
-	"google.golang.org/grpc"
 	"github.com/golang/protobuf/proto"
 	"golang.org/x/net/context"
+	"google.golang.org/grpc"
+	"google.golang.org/grpc/credentials"
+	testpb "google.golang.org/grpc/interop/testdata"
 )
 
 var (
@@ -195,7 +195,7 @@ func main() {
 	if err != nil {
 		log.Fatalf("failed to listen: %v", err)
 	}
-	server := rpc.NewServer()
+	server := grpc.NewServer()
 	testpb.RegisterService(server, &testServer{})
 	if *useTLS {
 		creds, err := credentials.NewServerTLSFromFile(*certFile, *keyFile)
diff --git a/test/end2end_test.go b/test/end2end_test.go
index e41cbc87..5d8c5001 100644
--- a/test/end2end_test.go
+++ b/test/end2end_test.go
@@ -47,12 +47,12 @@ import (
 	"time"
 
 	"github.com/golang/protobuf/proto"
+	"golang.org/x/net/context"
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/codes"
 	"google.golang.org/grpc/credentials"
 	"google.golang.org/grpc/metadata"
 	testpb "google.golang.org/grpc/test/testdata"
-	"golang.org/x/net/context"
 )
 
 var (
@@ -68,10 +68,10 @@ type mathServer struct {
 func (s *mathServer) Div(ctx context.Context, in *testpb.DivArgs) (*testpb.DivReply, error) {
 	md, ok := metadata.FromContext(ctx)
 	if ok {
-		if err := rpc.SendHeader(ctx, md); err != nil {
-			log.Fatalf("rpc.SendHeader(%v, %v) = %v, want %v", ctx, md, err, nil)
+		if err := grpc.SendHeader(ctx, md); err != nil {
+			log.Fatalf("grpc.SendHeader(%v, %v) = %v, want %v", ctx, md, err, nil)
 		}
-		rpc.SetTrailer(ctx, md)
+		grpc.SetTrailer(ctx, md)
 	}
 	n, d := in.GetDividend(), in.GetDivisor()
 	if d == 0 {
@@ -148,7 +148,7 @@ func (s *mathServer) Sum(stream testpb.Math_SumServer) error {
 
 const tlsDir = "testdata/"
 
-func setUp(useTLS bool, maxStream uint32) (s *rpc.Server, mc testpb.MathClient) {
+func setUp(useTLS bool, maxStream uint32) (s *grpc.Server, mc testpb.MathClient) {
 	lis, err := net.Listen("tcp", ":0")
 	if err != nil {
 		log.Fatalf("Failed to listen: %v", err)
@@ -157,7 +157,7 @@ func setUp(useTLS bool, maxStream uint32) (s *rpc.Server, mc testpb.MathClient)
 	if err != nil {
 		log.Fatalf("Failed to parse listener address: %v", err)
 	}
-	s = rpc.NewServer(rpc.MaxConcurrentStreams(maxStream))
+	s = grpc.NewServer(grpc.MaxConcurrentStreams(maxStream))
 	ms := &mathServer{}
 	testpb.RegisterService(s, ms)
 	if useTLS {
@@ -170,15 +170,15 @@ func setUp(useTLS bool, maxStream uint32) (s *rpc.Server, mc testpb.MathClient)
 		go s.Serve(lis)
 	}
 	addr := "localhost:" + port
-	var conn *rpc.ClientConn
+	var conn *grpc.ClientConn
 	if useTLS {
 		creds, err := credentials.NewClientTLSFromFile(tlsDir+"ca.pem", "x.test.youtube.com")
 		if err != nil {
 			log.Fatalf("Failed to create credentials %v", err)
 		}
-		conn, err = rpc.Dial(addr, rpc.WithClientTLS(creds))
+		conn, err = grpc.Dial(addr, grpc.WithClientTLS(creds))
 	} else {
-		conn, err = rpc.Dial(addr)
+		conn, err = grpc.Dial(addr)
 	}
 	if err != nil {
 		log.Fatalf("Dial(%q) = %v", addr, err)
@@ -194,7 +194,7 @@ func TestFailedRPC(t *testing.T) {
 		Dividend: proto.Int64(8),
 		Divisor:  proto.Int64(0),
 	}
-	expectedErr := rpc.Errorf(codes.Unknown, "math: divide by 0")
+	expectedErr := grpc.Errorf(codes.Unknown, "math: divide by 0")
 	reply, rpcErr := mc.Div(context.Background(), args)
 	if fmt.Sprint(rpcErr) != fmt.Sprint(expectedErr) {
 		t.Fatalf(`mathClient.Div(_, _) = %v, %v; want <nil>, %v`, reply, rpcErr, expectedErr)
@@ -210,7 +210,7 @@ func TestMetadataUnaryRPC(t *testing.T) {
 	}
 	ctx := metadata.NewContext(context.Background(), testMetadata)
 	var header, trailer metadata.MD
-	_, err := mc.Div(ctx, args, rpc.Header(&header), rpc.Trailer(&trailer))
+	_, err := mc.Div(ctx, args, grpc.Header(&header), grpc.Trailer(&trailer))
 	if err != nil {
 		t.Fatalf("mathClient.Div(%v, _, _, _) = _, %v; want _, <nil>", ctx, err)
 	}
@@ -277,7 +277,7 @@ func TestTimeout(t *testing.T) {
 	for i := 1; i <= 100; i++ {
 		ctx, _ := context.WithTimeout(context.Background(), time.Duration(i)*time.Microsecond)
 		reply, err := mc.Div(ctx, args)
-		if rpc.Code(err) != codes.DeadlineExceeded {
+		if grpc.Code(err) != codes.DeadlineExceeded {
 			t.Fatalf(`mathClient.Div(_, _) = %v, %v; want <nil>, error code: %d`, reply, err, codes.DeadlineExceeded)
 		}
 	}
@@ -293,7 +293,7 @@ func TestCancel(t *testing.T) {
 	ctx, cancel := context.WithCancel(context.Background())
 	time.AfterFunc(1*time.Millisecond, cancel)
 	reply, err := mc.Div(ctx, args)
-	if rpc.Code(err) != codes.Canceled {
+	if grpc.Code(err) != codes.Canceled {
 		t.Fatalf(`mathClient.Div(_, _) = %v, %v; want <nil>, error code: %d`, reply, err, codes.Canceled)
 	}
 }
@@ -311,7 +311,7 @@ func TestBidiStreaming(t *testing.T) {
 		status error
 	}{
 		{[]string{"1/1", "3/2", "2/3", "1/2"}, io.EOF},
-		{[]string{"2/5", "2/3", "3/0", "5/4"}, rpc.Errorf(codes.Unknown, "math: divide by 0")},
+		{[]string{"2/5", "2/3", "3/0", "5/4"}, grpc.Errorf(codes.Unknown, "math: divide by 0")},
 	} {
 		stream, err := mc.DivMany(context.Background())
 		if err != nil {
@@ -460,7 +460,7 @@ func TestExceedMaxStreamsLimit(t *testing.T) {
 			break
 		}
 	}
-	if rpc.Code(err) != codes.Unavailable {
+	if grpc.Code(err) != codes.Unavailable {
 		t.Fatalf("got %v, want error code %d", err, codes.Unavailable)
 	}
 }

From e267906c2254f42a2dcecce6662773cd8afa5c50 Mon Sep 17 00:00:00 2001
From: David Symonds <dsymonds@golang.org>
Date: Mon, 9 Feb 2015 12:39:20 +1100
Subject: [PATCH 5/5] Replace package doc.

---
 doc.go | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/doc.go b/doc.go
index 621b4254..c0f54f75 100644
--- a/doc.go
+++ b/doc.go
@@ -1,4 +1,6 @@
 /*
-Package grpc implements various components to perform RPC on top of transport package.
+Package grpc implements an RPC system called gRPC.
+
+See https://github.com/grpc/grpc for more information about gRPC.
 */
 package grpc