Versions in this module Expand all Collapse all v0 v0.1.0 Oct 4, 2022 Changes in this version + var E_MethodSubject = &file_nrpc_proto_extTypes[6] + var E_MethodSubjectParams = &file_nrpc_proto_extTypes[7] + var E_MethodSubjectRule = &file_nrpc_proto_extTypes[3] + var E_PackageSubject = &file_nrpc_proto_extTypes[0] + var E_PackageSubjectParams = &file_nrpc_proto_extTypes[1] + var E_ServiceSubject = &file_nrpc_proto_extTypes[4] + var E_ServiceSubjectParams = &file_nrpc_proto_extTypes[5] + var E_ServiceSubjectRule = &file_nrpc_proto_extTypes[2] + var E_StreamedReply = &file_nrpc_proto_extTypes[8] + var ErrCanceled = errors.New("Call canceled") + var ErrEOS = errors.New("End of stream") + var ErrStreamInvalidMsgCount = errors.New("Stream reply received an incorrect number of messages") + var Error_Type_name = map[int32]string + var Error_Type_value = map[string]int32 + var File_nrpc_proto protoreflect.FileDescriptor + var SubjectRule_name = map[int32]string + var SubjectRule_value = map[string]int32 + func Call(ctx context.Context, req proto.Message, rep proto.Message, nc NatsConn, ...) error + func Marshal(encoding string, msg proto.Message) ([]byte, error) + func MarshalErrorResponse(encoding string, repErr *Error) ([]byte, error) + func ParseSubject(packageSubject string, packageParamsCount int, serviceSubject string, ...) (packageParams []string, serviceParams []string, name string, tail []string, ...) + func ParseSubjectTail(methodParamsCount int, tail []string) (methodParams []string, encoding string, err error) + func Publish(resp proto.Message, withError *Error, nc NatsConn, subject string, ...) error + func Unmarshal(encoding string, data []byte, msg proto.Message) error + func UnmarshalResponse(encoding string, data []byte, msg proto.Message) error + type ContextKey int + const RequestContextKey + type Error struct + Message string + MsgCount uint32 + Type Error_Type + func CaptureErrors(fn func() (proto.Message, error)) (msg proto.Message, replyError *Error) + func (*Error) Descriptor() ([]byte, []int) + func (*Error) ProtoMessage() + func (e *Error) Error() string + func (x *Error) GetMessage() string + func (x *Error) GetMsgCount() uint32 + func (x *Error) GetType() Error_Type + func (x *Error) ProtoReflect() protoreflect.Message + func (x *Error) Reset() + func (x *Error) String() string + type Error_Type int32 + const Error_CLIENT + const Error_EOS + const Error_SERVER + const Error_SERVERTOOBUSY + func (Error_Type) Descriptor() protoreflect.EnumDescriptor + func (Error_Type) EnumDescriptor() ([]byte, []int) + func (Error_Type) Type() protoreflect.EnumType + func (x Error_Type) Enum() *Error_Type + func (x Error_Type) Number() protoreflect.EnumNumber + func (x Error_Type) String() string + type HeartBeat struct + Lastbeat bool + func (*HeartBeat) Descriptor() ([]byte, []int) + func (*HeartBeat) ProtoMessage() + func (x *HeartBeat) GetLastbeat() bool + func (x *HeartBeat) ProtoReflect() protoreflect.Message + func (x *HeartBeat) Reset() + func (x *HeartBeat) String() string + type KeepStreamAlive struct + func NewKeepStreamAlive(nc NatsConn, subject string, encoding string, onError func()) *KeepStreamAlive + func (k *KeepStreamAlive) Stop() + type NatsConn interface + ChanSubscribe func(subj string, ch chan *nats.Msg) (*nats.Subscription, error) + Publish func(subj string, data []byte) error + PublishRequest func(subj, reply string, data []byte) error + RequestWithContext func(ctx context.Context, subj string, data []byte) (*nats.Msg, error) + Subscribe func(subj string, handler nats.MsgHandler) (*nats.Subscription, error) + SubscribeSync func(subj string) (*nats.Subscription, error) + type NoReply struct + func (*NoReply) Descriptor() ([]byte, []int) + func (*NoReply) ProtoMessage() + func (x *NoReply) ProtoReflect() protoreflect.Message + func (x *NoReply) Reset() + func (x *NoReply) String() string + type NoRequest struct + func (*NoRequest) Descriptor() ([]byte, []int) + func (*NoRequest) ProtoMessage() + func (x *NoRequest) ProtoReflect() protoreflect.Message + func (x *NoRequest) Reset() + func (x *NoRequest) String() string + type ReplyInboxMaker func(NatsConn) string + var GetReplyInbox ReplyInboxMaker = func(NatsConn) string { ... } + type Request struct + AfterReply func(r *Request, success bool, replySuccess bool) + Conn NatsConn + Context context.Context + CreatedAt time.Time + Encoding string + Handler func(context.Context) (proto.Message, error) + KeepStreamAlive *KeepStreamAlive + MethodName string + NoReply bool + PackageParams map[string]string + ReplySubject string + ServiceParams map[string]string + StartedAt time.Time + StreamCancel func() + StreamContext context.Context + StreamMsgCount uint32 + Subject string + SubjectTail []string + func GetRequest(ctx context.Context) *Request + func NewRequest(ctx context.Context, conn NatsConn, subject string, replySubject string) *Request + func (r *Request) Elapsed() time.Duration + func (r *Request) EnableStreamedReply() + func (r *Request) PackageParam(key string) string + func (r *Request) Run() (msg proto.Message, replyError *Error) + func (r *Request) RunAndReply() + func (r *Request) SendErrorTooBusy(msg string) error + func (r *Request) SendReply(resp proto.Message, withError *Error) error + func (r *Request) SendStreamReply(msg proto.Message) + func (r *Request) ServiceParam(key string) string + func (r *Request) SetPackageParam(key, value string) + func (r *Request) SetServiceParam(key, value string) + func (r *Request) StreamedReply() bool + type StreamCallSubscription struct + func NewStreamCallSubscription(ctx context.Context, nc NatsConn, encoding string, subject string, ...) (*StreamCallSubscription, error) + func StreamCall(ctx context.Context, nc NatsConn, subject string, req proto.Message, ...) (*StreamCallSubscription, error) + func (sub *StreamCallSubscription) Next(rep proto.Message) error + type SubjectRule int32 + const SubjectRule_COPY + const SubjectRule_TOLOWER + func (SubjectRule) Descriptor() protoreflect.EnumDescriptor + func (SubjectRule) EnumDescriptor() ([]byte, []int) + func (SubjectRule) Type() protoreflect.EnumType + func (x SubjectRule) Enum() *SubjectRule + func (x SubjectRule) Number() protoreflect.EnumNumber + func (x SubjectRule) String() string + type Void struct + func (*Void) Descriptor() ([]byte, []int) + func (*Void) ProtoMessage() + func (x *Void) ProtoReflect() protoreflect.Message + func (x *Void) Reset() + func (x *Void) String() string + type WorkerPool struct + Context context.Context + func NewWorkerPool(ctx context.Context, size, maxPending uint, maxPendingDuration time.Duration) *WorkerPool + func (pool *WorkerPool) Close(timeout time.Duration) + func (pool *WorkerPool) QueueRequest(request *Request) error + func (pool *WorkerPool) SetMaxPending(value uint) + func (pool *WorkerPool) SetMaxPendingDuration(value time.Duration) + func (pool *WorkerPool) SetSize(size uint)