// Code generated by protoc-gen-slc. DO NOT EDIT.
package server

import (
	pb "bsm/full/module/social/feed/pb"
	"context"

	gwRuntime "github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
	"google.golang.org/grpc"
	"google.golang.org/grpc/reflection"
)

type Server struct {
	Grpc      *grpc.Server
	Ctx       context.Context
	Mux       *gwRuntime.ServeMux
	grpcConns map[string]*grpc.ClientConn // 连接池
}

func New(addr string) *Server {
	srv := &Server{
		Ctx:       context.Background(),
		Grpc:      grpc.NewServer(),
		grpcConns: make(map[string]*grpc.ClientConn),
	}

	// register service to grpc.Server
	pb.RegisterPostServer(srv.Grpc, NewPostServer())
	pb.RegisterSettingServer(srv.Grpc, NewSettingServer())
	pb.RegisterTagServer(srv.Grpc, NewTagServer())
	pb.RegisterTimelineServer(srv.Grpc, NewTimelineServer())

	reflection.Register(srv.Grpc)

	return srv
}
