package services import ( "context" "git.solsynth.dev/hypernet/nexus/pkg/nex" "github.com/rs/zerolog/log" "time" "github.com/samber/lo" "git.solsynth.dev/hypernet/messaging/pkg/internal/gap" "git.solsynth.dev/hypernet/nexus/pkg/proto" ) func PushCommand(userId uint, task nex.WebSocketPackage) { ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() pc := gap.Nx.GetNexusGrpcConn() _, err := proto.NewStreamServiceClient(pc).PushStream(ctx, &proto.PushStreamRequest{ UserId: lo.ToPtr(uint64(userId)), Body: task.Marshal(), }) if err != nil { log.Warn().Err(err).Msg("Failed to push websocket command to nexus...") } } func PushCommandBatch(userId []uint64, task nex.WebSocketPackage) { ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() pc := gap.Nx.GetNexusGrpcConn() _, err := proto.NewStreamServiceClient(pc).PushStreamBatch(ctx, &proto.PushStreamBatchRequest{ UserId: userId, Body: task.Marshal(), }) if err != nil { log.Warn().Err(err).Msg("Failed to push websocket command to nexus in batches...") } }