Versions in this module Expand all Collapse all v0 v0.0.2 Mar 14, 2020 Changes in this version + func NewClient(conn *grpc.ClientConn, logger log.Logger, options ...kitGRPC.ClientOption) *grpcClient + func NewPBFromFeature(msg *Feature) *pb.Feature + func NewPBFromPoint(msg *Point) *pb.Point + func NewPBFromRectangle(msg *Rectangle) *pb.Rectangle + func NewPBFromRouteNote(msg *RouteNote) *pb.RouteNote + func NewPBFromRouteSummary(msg *RouteSummary) *pb.RouteSummary + type ClientOption func(*grpcClient) + func ClientAfter(after ...ClientResponseFunc) ClientOption + func ClientBefore(before ...ClientRequestFunc) ClientOption + type ClientRequestFunc func(context.Context, *metadata.MD) context.Context + type ClientResponseFunc func(context.Context, metadata.MD, metadata.MD) context.Context + type Endpoints struct + FullDuplexEndpoint endpoint.Endpoint + GetFeatureEndpoint endpoint.Endpoint + HalfDuplexEndpoint endpoint.Endpoint + ReverseHalfDuplexEndpoint endpoint.Endpoint + func MakeEndpoints(svc Service, mwares []endpoint.Middleware) Endpoints + type Feature struct + Location *Point + Name string + func NewFeatureFromPB(msg *pb.Feature) *Feature + type GRPCServer struct + FullDuplexGRPCHandler kitGRPC.Handler + GetFeatureGRPCHandler kitGRPC.Handler + HalfDuplexGRPCHandler kitGRPC.Handler + ReverseHalfDuplexGRPCHandler kitGRPC.Handler + func NewGRPCServer(endpoints Endpoints, logger log.Logger, options ...kitGRPC.ServerOption) (*GRPCServer, error) + func (s *GRPCServer) FullDuplex(stream pb.RouteGuide_FullDuplexServer) error + func (s *GRPCServer) GetFeature(ctx context.Context, req *pb.Point) (*pb.Feature, error) + func (s *GRPCServer) HalfDuplex(req *pb.Rectangle, stream pb.RouteGuide_HalfDuplexServer) error + func (s *GRPCServer) ReverseHalfDuplex(stream pb.RouteGuide_ReverseHalfDuplexServer) error + type Point struct + Latitude int32 + Longitude int32 + func NewPointFromPB(msg *pb.Point) *Point + type Rectangle struct + Hi *Point + Lo *Point + func NewRectangleFromPB(msg *pb.Rectangle) *Rectangle + type Repository interface + FullDuplex func(ctx context.Context, location *Point, message string) (*Point, string, error) + GetFeature func(ctx context.Context, latitude int32, longitude int32) (string, *Point, error) + HalfDuplex func(ctx context.Context, lo *Point, hi *Point) (string, *Point, error) + ReverseHalfDuplex func(ctx context.Context, latitude int32, longitude int32) (int32, int32, int32, int32, error) + func NewRepository(logger log.Logger, db interface{}) Repository + type RequestAndStreamHalfDuplex struct + Request *pb.Rectangle + Stream pb.RouteGuide_HalfDuplexServer + type RouteNote struct + Location *Point + Message string + func NewRouteNoteFromPB(msg *pb.RouteNote) *RouteNote + type RouteSummary struct + Distance int32 + ElapsedTime int32 + FeatureCount int32 + PointCount int32 + func NewRouteSummaryFromPB(msg *pb.RouteSummary) *RouteSummary + type Service interface + BroadcastFullDuplex func() chan RouteNote + BroadcastHalfDuplex func() chan Feature + FullDuplex func(stream pb.RouteGuide_FullDuplexServer) error + GetFeature func(ctx context.Context, latitude int32, longitude int32) (string, *Point, error) + HalfDuplex func(req *pb.Rectangle, stream pb.RouteGuide_HalfDuplexServer) error + Log func() log.Logger + ReverseHalfDuplex func(stream pb.RouteGuide_ReverseHalfDuplexServer) error + func NewService(log log.Logger, repo Repository) Service