Change package name and add InstallOnServer()

This commit is contained in:
Menghan Li
2016-06-02 10:50:57 -07:00
parent ffca1d2bce
commit 273b7164b3
2 changed files with 17 additions and 6 deletions

View File

@ -1,4 +1,4 @@
package main
package reflection
import (
"bytes"
@ -17,21 +17,25 @@ import (
)
type serverReflectionServer struct {
s *grpc.Server
// TODO mu is not used. Add lock() and unlock().
mu sync.Mutex
typeToNameMap map[reflect.Type]string
nameToTypeMap map[string]reflect.Type
typeToFileDescMap map[reflect.Type]*dpb.FileDescriptorProto
// TODO remove this, replace with s.ftdmap
filenameToDescMap map[string]*dpb.FileDescriptorProto
}
func newServerReflectionServer() *serverReflectionServer {
return &serverReflectionServer{
// InstallOnServer installs server reflection service on the given grpc server.
func InstallOnServer(s *grpc.Server) {
rpb.RegisterServerReflectionServer(s, &serverReflectionServer{
s: s,
typeToNameMap: make(map[reflect.Type]string),
nameToTypeMap: make(map[string]reflect.Type),
typeToFileDescMap: make(map[reflect.Type]*dpb.FileDescriptorProto),
filenameToDescMap: make(map[string]*dpb.FileDescriptorProto),
}
})
}
type protoMessage interface {

View File

@ -1,4 +1,4 @@
package main
package reflection
import (
"reflect"
@ -6,11 +6,18 @@ import (
"testing"
"github.com/golang/protobuf/proto"
dpb "github.com/golang/protobuf/protoc-gen-go/descriptor"
pb "google.golang.org/grpc/reflection/grpc_testing"
)
var (
s = newServerReflectionServer()
s = &serverReflectionServer{
// s: s,
typeToNameMap: make(map[reflect.Type]string),
nameToTypeMap: make(map[string]reflect.Type),
typeToFileDescMap: make(map[reflect.Type]*dpb.FileDescriptorProto),
filenameToDescMap: make(map[string]*dpb.FileDescriptorProto),
}
)
// TODO TestFileDescForType(t *testing.T)