Skip to content

Commit

Permalink
GRPC exchange structure changed
Browse files Browse the repository at this point in the history
  • Loading branch information
pavel-one committed Apr 6, 2023
1 parent 3c58662 commit fbcbede
Show file tree
Hide file tree
Showing 9 changed files with 123 additions and 169 deletions.
14 changes: 1 addition & 13 deletions cmd/grpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,11 @@ import (
"github.com/pavel-one/EdgeGPT-Go/internal/Logger"
pb "github.com/pavel-one/EdgeGPT-Go/pkg/GRPC/GPT"
"google.golang.org/grpc"
"google.golang.org/grpc/peer"
"net"
)

var log = Logger.NewLogger("General")
var storage = EdgeGPT.NewStorage()
var interceptor = func(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error {
p, _ := peer.FromContext(ss.Context())
if _, err := storage.GetOrSet(p.Addr.String()); err != nil {
return err
}

err := handler(srv, ss)
return err
}

func main() {
srv := GRPC.NewServer(storage)
Expand All @@ -30,9 +20,7 @@ func main() {
log.Fatalf("failed to listen: %v", err)
}

s := grpc.NewServer(
grpc.StreamInterceptor(interceptor),
)
s := grpc.NewServer()
pb.RegisterGptServiceServer(s, srv)
log.Infoln("Starting server on port 8080")

Expand Down
13 changes: 6 additions & 7 deletions internal/GRPC/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package GRPC
import (
"github.com/pavel-one/EdgeGPT-Go"
pb "github.com/pavel-one/EdgeGPT-Go/pkg/GRPC/GPT"
"google.golang.org/grpc/peer"
"google.golang.org/protobuf/types/known/structpb"
"log"
"time"
)
Expand All @@ -20,21 +20,20 @@ func NewServer(s *EdgeGPT.Storage) *Server {
}

func (s *Server) Ask(r *pb.AskRequest, stream pb.GptService_AskServer) error {
p, _ := peer.FromContext(stream.Context())
gpt, err := s.Storage.GetOrSet(p.Addr.String())
gpt, err := s.Storage.GetOrSet(r.GetId())
if err != nil {
return err
}

message, err := gpt.AskAsync(r.Text)
message, err := gpt.AskAsync(r.GetText())
if err != nil {
return err
}

go func() {
err := message.Worker()
if err != nil {
log.Println(err)
log.Println("Worker err:", err)
}
}()

Expand All @@ -55,9 +54,9 @@ func (s *Server) Ask(r *pb.AskRequest, stream pb.GptService_AskServer) error {

suggestions := message.Answer.GetSuggestions()
if suggestions != nil {
res.Suggestions = make([]*pb.AskResponse_Suggestion, len(suggestions))
res.Suggestions = make([]*structpb.Struct, len(suggestions))
for i, sug := range suggestions {
res.Suggestions[i] = &pb.AskResponse_Suggestion{Text: sug.Text}
res.Suggestions[i], _ = structpb.NewStruct(sug)
}
}

Expand Down
Loading

0 comments on commit fbcbede

Please sign in to comment.