parent
ec51aa168a
commit
c43378352d
@ -0,0 +1,48 @@ |
|||||||
|
package downloader |
||||||
|
|
||||||
|
import ( |
||||||
|
"context" |
||||||
|
"fmt" |
||||||
|
"net" |
||||||
|
|
||||||
|
"github.com/harmony-one/harmony/node" |
||||||
|
pb "github.com/harmony-one/harmony/syncing/downloader/proto" |
||||||
|
"google.golang.org/grpc" |
||||||
|
) |
||||||
|
|
||||||
|
// Server ...
|
||||||
|
type Server struct { |
||||||
|
node *node.Node |
||||||
|
} |
||||||
|
|
||||||
|
// Query returns the feature at the given point.
|
||||||
|
func (s *Server) Query(ctx context.Context, request *pb.DownloaderRequest) (*pb.DownloaderResponse, error) { |
||||||
|
res := &pb.DownloaderResponse{} |
||||||
|
if request.Type == pb.DownloaderRequest_HEADER { |
||||||
|
} else { |
||||||
|
res.Payload = append(res.Payload, []byte{1}) |
||||||
|
} |
||||||
|
return res, nil |
||||||
|
} |
||||||
|
|
||||||
|
// Start ...
|
||||||
|
func (s *Server) Start(port string) error { |
||||||
|
if s.node == nil { |
||||||
|
return ErrDownloaderWithNoNode |
||||||
|
} |
||||||
|
lis, err := net.Listen("tcp", fmt.Sprintf("localhost:%s", port)) |
||||||
|
if err != nil { |
||||||
|
|
||||||
|
} |
||||||
|
var opts []grpc.ServerOption |
||||||
|
grpcServer := grpc.NewServer(opts...) |
||||||
|
pb.RegisterDownloaderServer(grpcServer, s) |
||||||
|
grpcServer.Serve(lis) |
||||||
|
return nil |
||||||
|
} |
||||||
|
|
||||||
|
// NewServer ...
|
||||||
|
func NewServer(node *node.Node) *Server { |
||||||
|
s := &Server{node: node} |
||||||
|
return s |
||||||
|
} |
Loading…
Reference in new issue