handler

package module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2023 License: AGPL-3.0 Imports: 19 Imported by: 0

README

Sybline Go Client

Go client for the Sybline Message Broker.

AGPL AGPL

Table of Contents

Features

See docs for more information: Sybline Docs

The list of features are:

  • Direct Message Routing
  • Batch Messaging
    • Can batch Submit messages to a routing key
    • Can batch ack and nack messages
  • Built-in Consumer Struct
    • Handles polling the sybline cluster, you just handle what to do with the messages!
  • Security:
    • Account Management
    • mTLS Communication (Non-Account Level)
    • Role based Managed
      • JSON Based Roles
      • Allow and Deny Actions
        • Denys take precedence
      • Restrict Access to Specific Queues or Route Key

Installation

Go install command:

go get github.com/GreedyKomodoDragon/sybline-go

Documentation

All of the go documentation can be found at the Sybline Documentation website.

Proto Command
protoc --go_out=. --go_opt=paths=source_relative \
    --go-grpc_out=. --go-grpc_opt=paths=source_relative \
    mq.proto

Contributing

Sybline (or any sybline related projects) are open to contributions whether these are new features or bug-fixes.

Please note, if the feature does not align with the original goal of Sybline it will sadly not be accepted; we don't want the scope of Sybline to become too unmaintainable.

If you are interested in the project but have no/little technical experience, please have a look at the documentation repo, it always needs changes or translations!

License

Sybline has been released under GNU Affero General Public License v3.0.

  • This is a copyleft License

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrMissingToken      = errors.New("no valid auth token provided")
	ErrNoServerAddresses = errors.New("no addresses have been provided")
	ErrNoValidAddresses  = errors.New("client must be provided at least one address")

	AuthErrString = "no valid auth token provided"

	SYB_TOKEN = "syb-token"
)
View Source
var (
	ErrInvalidData        = errors.New("data must container some information")
	ErrInvalidRoutingKey  = errors.New("routingKey cannot be empty")
	ErrInvalidQueueName   = errors.New("queue name cannot be empty")
	ErrInvalidAmount      = errors.New("must request more than zero")
	ErrInvalidSize        = errors.New("size must be more than zero")
	ErrInvalidId          = errors.New("id must not be empty")
	ErrInvalidUsername    = errors.New("username cannot be empty")
	ErrInvalidOldPassword = errors.New("old password cannot be empty")
	ErrInvalidNewPassword = errors.New("new password cannot be empty")
)
View Source
var ErrNotUsernameFound = errors.New("no username found")
View Source
var MQEndpoints_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "MQ.MQEndpoints",
	HandlerType: (*MQEndpointsServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetMessages",
			Handler:    _MQEndpoints_GetMessages_Handler,
		},
		{
			MethodName: "SubmitMessage",
			Handler:    _MQEndpoints_SubmitMessage_Handler,
		},
		{
			MethodName: "CreateQueue",
			Handler:    _MQEndpoints_CreateQueue_Handler,
		},
		{
			MethodName: "Ack",
			Handler:    _MQEndpoints_Ack_Handler,
		},
		{
			MethodName: "Login",
			Handler:    _MQEndpoints_Login_Handler,
		},
		{
			MethodName: "ChangePassword",
			Handler:    _MQEndpoints_ChangePassword_Handler,
		},
		{
			MethodName: "Nack",
			Handler:    _MQEndpoints_Nack_Handler,
		},
		{
			MethodName: "DeleteQueue",
			Handler:    _MQEndpoints_DeleteQueue_Handler,
		},
		{
			MethodName: "AddRoutingKey",
			Handler:    _MQEndpoints_AddRoutingKey_Handler,
		},
		{
			MethodName: "DeleteRoutingKey",
			Handler:    _MQEndpoints_DeleteRoutingKey_Handler,
		},
		{
			MethodName: "CreateUser",
			Handler:    _MQEndpoints_CreateUser_Handler,
		},
		{
			MethodName: "SubmitBatchedMessages",
			Handler:    _MQEndpoints_SubmitBatchedMessages_Handler,
		},
		{
			MethodName: "IsLeaderNode",
			Handler:    _MQEndpoints_IsLeaderNode_Handler,
		},
		{
			MethodName: "DeleteUser",
			Handler:    _MQEndpoints_DeleteUser_Handler,
		},
		{
			MethodName: "BatchAck",
			Handler:    _MQEndpoints_BatchAck_Handler,
		},
		{
			MethodName: "BatchNack",
			Handler:    _MQEndpoints_BatchNack_Handler,
		},
		{
			MethodName: "LogOut",
			Handler:    _MQEndpoints_LogOut_Handler,
		},
		{
			MethodName: "CreateRole",
			Handler:    _MQEndpoints_CreateRole_Handler,
		},
		{
			MethodName: "AssignRole",
			Handler:    _MQEndpoints_AssignRole_Handler,
		},
		{
			MethodName: "UnassignRole",
			Handler:    _MQEndpoints_UnassignRole_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "mq.proto",
}

MQEndpoints_ServiceDesc is the grpc.ServiceDesc for MQEndpoints service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func IsAuthErr

func IsAuthErr(err error) bool

func IsNodeInvalid

func IsNodeInvalid(err error) bool

func NewSafeInt

func NewSafeInt(v int) *safeInt

func RegisterMQEndpointsServer

func RegisterMQEndpointsServer(s grpc.ServiceRegistrar, srv MQEndpointsServer)

Types

type AckUpdate

type AckUpdate struct {
	QueueName string `protobuf:"bytes,1,opt,name=queueName,proto3" json:"queueName,omitempty"`
	Id        []byte `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

func (*AckUpdate) Descriptor deprecated

func (*AckUpdate) Descriptor() ([]byte, []int)

Deprecated: Use AckUpdate.ProtoReflect.Descriptor instead.

func (*AckUpdate) GetId

func (x *AckUpdate) GetId() []byte

func (*AckUpdate) GetQueueName

func (x *AckUpdate) GetQueueName() string

func (*AckUpdate) ProtoMessage

func (*AckUpdate) ProtoMessage()

func (*AckUpdate) ProtoReflect

func (x *AckUpdate) ProtoReflect() protoreflect.Message

func (*AckUpdate) Reset

func (x *AckUpdate) Reset()

func (*AckUpdate) String

func (x *AckUpdate) String() string

type AddRoute

type AddRoute struct {
	QueueName string `protobuf:"bytes,1,opt,name=queueName,proto3" json:"queueName,omitempty"`
	RouteName string `protobuf:"bytes,2,opt,name=routeName,proto3" json:"routeName,omitempty"`
	// contains filtered or unexported fields
}

func (*AddRoute) Descriptor deprecated

func (*AddRoute) Descriptor() ([]byte, []int)

Deprecated: Use AddRoute.ProtoReflect.Descriptor instead.

func (*AddRoute) GetQueueName

func (x *AddRoute) GetQueueName() string

func (*AddRoute) GetRouteName

func (x *AddRoute) GetRouteName() string

func (*AddRoute) ProtoMessage

func (*AddRoute) ProtoMessage()

func (*AddRoute) ProtoReflect

func (x *AddRoute) ProtoReflect() protoreflect.Message

func (*AddRoute) Reset

func (x *AddRoute) Reset()

func (*AddRoute) String

func (x *AddRoute) String() string

type AssignRoleRequest

type AssignRoleRequest struct {
	Role     string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
	Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
	// contains filtered or unexported fields
}

func (*AssignRoleRequest) Descriptor deprecated

func (*AssignRoleRequest) Descriptor() ([]byte, []int)

Deprecated: Use AssignRoleRequest.ProtoReflect.Descriptor instead.

func (*AssignRoleRequest) GetRole

func (x *AssignRoleRequest) GetRole() string

func (*AssignRoleRequest) GetUsername

func (x *AssignRoleRequest) GetUsername() string

func (*AssignRoleRequest) ProtoMessage

func (*AssignRoleRequest) ProtoMessage()

func (*AssignRoleRequest) ProtoReflect

func (x *AssignRoleRequest) ProtoReflect() protoreflect.Message

func (*AssignRoleRequest) Reset

func (x *AssignRoleRequest) Reset()

func (*AssignRoleRequest) String

func (x *AssignRoleRequest) String() string

type AssignRoleResponse

type AssignRoleResponse struct {
	Status bool `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*AssignRoleResponse) Descriptor deprecated

func (*AssignRoleResponse) Descriptor() ([]byte, []int)

Deprecated: Use AssignRoleResponse.ProtoReflect.Descriptor instead.

func (*AssignRoleResponse) GetStatus

func (x *AssignRoleResponse) GetStatus() bool

func (*AssignRoleResponse) ProtoMessage

func (*AssignRoleResponse) ProtoMessage()

func (*AssignRoleResponse) ProtoReflect

func (x *AssignRoleResponse) ProtoReflect() protoreflect.Message

func (*AssignRoleResponse) Reset

func (x *AssignRoleResponse) Reset()

func (*AssignRoleResponse) String

func (x *AssignRoleResponse) String() string

type BatchAckUpdate

type BatchAckUpdate struct {
	QueueName string   `protobuf:"bytes,1,opt,name=queueName,proto3" json:"queueName,omitempty"`
	Id        [][]byte `protobuf:"bytes,2,rep,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

func (*BatchAckUpdate) Descriptor deprecated

func (*BatchAckUpdate) Descriptor() ([]byte, []int)

Deprecated: Use BatchAckUpdate.ProtoReflect.Descriptor instead.

func (*BatchAckUpdate) GetId

func (x *BatchAckUpdate) GetId() [][]byte

func (*BatchAckUpdate) GetQueueName

func (x *BatchAckUpdate) GetQueueName() string

func (*BatchAckUpdate) ProtoMessage

func (*BatchAckUpdate) ProtoMessage()

func (*BatchAckUpdate) ProtoReflect

func (x *BatchAckUpdate) ProtoReflect() protoreflect.Message

func (*BatchAckUpdate) Reset

func (x *BatchAckUpdate) Reset()

func (*BatchAckUpdate) String

func (x *BatchAckUpdate) String() string

type BatchMessages

type BatchMessages struct {
	Messages []*MessageInfo `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
	// contains filtered or unexported fields
}

func (*BatchMessages) Descriptor deprecated

func (*BatchMessages) Descriptor() ([]byte, []int)

Deprecated: Use BatchMessages.ProtoReflect.Descriptor instead.

func (*BatchMessages) GetMessages

func (x *BatchMessages) GetMessages() []*MessageInfo

func (*BatchMessages) ProtoMessage

func (*BatchMessages) ProtoMessage()

func (*BatchMessages) ProtoReflect

func (x *BatchMessages) ProtoReflect() protoreflect.Message

func (*BatchMessages) Reset

func (x *BatchMessages) Reset()

func (*BatchMessages) String

func (x *BatchMessages) String() string

type BatchNackUpdate

type BatchNackUpdate struct {
	QueueName string   `protobuf:"bytes,1,opt,name=queueName,proto3" json:"queueName,omitempty"`
	Ids       [][]byte `protobuf:"bytes,2,rep,name=ids,proto3" json:"ids,omitempty"`
	// contains filtered or unexported fields
}

func (*BatchNackUpdate) Descriptor deprecated

func (*BatchNackUpdate) Descriptor() ([]byte, []int)

Deprecated: Use BatchNackUpdate.ProtoReflect.Descriptor instead.

func (*BatchNackUpdate) GetIds

func (x *BatchNackUpdate) GetIds() [][]byte

func (*BatchNackUpdate) GetQueueName

func (x *BatchNackUpdate) GetQueueName() string

func (*BatchNackUpdate) ProtoMessage

func (*BatchNackUpdate) ProtoMessage()

func (*BatchNackUpdate) ProtoReflect

func (x *BatchNackUpdate) ProtoReflect() protoreflect.Message

func (*BatchNackUpdate) Reset

func (x *BatchNackUpdate) Reset()

func (*BatchNackUpdate) String

func (x *BatchNackUpdate) String() string

type ChangeCredentials

type ChangeCredentials struct {
	Username    string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	OldPassword string `protobuf:"bytes,2,opt,name=oldPassword,proto3" json:"oldPassword,omitempty"`
	NewPassword string `protobuf:"bytes,3,opt,name=newPassword,proto3" json:"newPassword,omitempty"`
	// contains filtered or unexported fields
}

func (*ChangeCredentials) Descriptor deprecated

func (*ChangeCredentials) Descriptor() ([]byte, []int)

Deprecated: Use ChangeCredentials.ProtoReflect.Descriptor instead.

func (*ChangeCredentials) GetNewPassword

func (x *ChangeCredentials) GetNewPassword() string

func (*ChangeCredentials) GetOldPassword

func (x *ChangeCredentials) GetOldPassword() string

func (*ChangeCredentials) GetUsername

func (x *ChangeCredentials) GetUsername() string

func (*ChangeCredentials) ProtoMessage

func (*ChangeCredentials) ProtoMessage()

func (*ChangeCredentials) ProtoReflect

func (x *ChangeCredentials) ProtoReflect() protoreflect.Message

func (*ChangeCredentials) Reset

func (x *ChangeCredentials) Reset()

func (*ChangeCredentials) String

func (x *ChangeCredentials) String() string

type Config

type Config struct {
	TimeoutSec      int
	TimeoutAttempts int
}

type CreateRoleRequest

type CreateRoleRequest struct {
	Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateRoleRequest) Descriptor deprecated

func (*CreateRoleRequest) Descriptor() ([]byte, []int)

Deprecated: Use CreateRoleRequest.ProtoReflect.Descriptor instead.

func (*CreateRoleRequest) GetRole

func (x *CreateRoleRequest) GetRole() string

func (*CreateRoleRequest) ProtoMessage

func (*CreateRoleRequest) ProtoMessage()

func (*CreateRoleRequest) ProtoReflect

func (x *CreateRoleRequest) ProtoReflect() protoreflect.Message

func (*CreateRoleRequest) Reset

func (x *CreateRoleRequest) Reset()

func (*CreateRoleRequest) String

func (x *CreateRoleRequest) String() string

type CreateRoleResponse

type CreateRoleResponse struct {
	Status bool `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateRoleResponse) Descriptor deprecated

func (*CreateRoleResponse) Descriptor() ([]byte, []int)

Deprecated: Use CreateRoleResponse.ProtoReflect.Descriptor instead.

func (*CreateRoleResponse) GetStatus

func (x *CreateRoleResponse) GetStatus() bool

func (*CreateRoleResponse) ProtoMessage

func (*CreateRoleResponse) ProtoMessage()

func (*CreateRoleResponse) ProtoReflect

func (x *CreateRoleResponse) ProtoReflect() protoreflect.Message

func (*CreateRoleResponse) Reset

func (x *CreateRoleResponse) Reset()

func (*CreateRoleResponse) String

func (x *CreateRoleResponse) String() string

type Credentials

type Credentials struct {
	Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
	// contains filtered or unexported fields
}

func (*Credentials) Descriptor deprecated

func (*Credentials) Descriptor() ([]byte, []int)

Deprecated: Use Credentials.ProtoReflect.Descriptor instead.

func (*Credentials) GetPassword

func (x *Credentials) GetPassword() string

func (*Credentials) GetUsername

func (x *Credentials) GetUsername() string

func (*Credentials) ProtoMessage

func (*Credentials) ProtoMessage()

func (*Credentials) ProtoReflect

func (x *Credentials) ProtoReflect() protoreflect.Message

func (*Credentials) Reset

func (x *Credentials) Reset()

func (*Credentials) String

func (x *Credentials) String() string

type DeleteQueueInfo

type DeleteQueueInfo struct {
	QueueName string `protobuf:"bytes,1,opt,name=queueName,proto3" json:"queueName,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteQueueInfo) Descriptor deprecated

func (*DeleteQueueInfo) Descriptor() ([]byte, []int)

Deprecated: Use DeleteQueueInfo.ProtoReflect.Descriptor instead.

func (*DeleteQueueInfo) GetQueueName

func (x *DeleteQueueInfo) GetQueueName() string

func (*DeleteQueueInfo) ProtoMessage

func (*DeleteQueueInfo) ProtoMessage()

func (*DeleteQueueInfo) ProtoReflect

func (x *DeleteQueueInfo) ProtoReflect() protoreflect.Message

func (*DeleteQueueInfo) Reset

func (x *DeleteQueueInfo) Reset()

func (*DeleteQueueInfo) String

func (x *DeleteQueueInfo) String() string

type DeleteRoute

type DeleteRoute struct {
	QueueName string `protobuf:"bytes,1,opt,name=queueName,proto3" json:"queueName,omitempty"`
	RouteName string `protobuf:"bytes,2,opt,name=routeName,proto3" json:"routeName,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteRoute) Descriptor deprecated

func (*DeleteRoute) Descriptor() ([]byte, []int)

Deprecated: Use DeleteRoute.ProtoReflect.Descriptor instead.

func (*DeleteRoute) GetQueueName

func (x *DeleteRoute) GetQueueName() string

func (*DeleteRoute) GetRouteName

func (x *DeleteRoute) GetRouteName() string

func (*DeleteRoute) ProtoMessage

func (*DeleteRoute) ProtoMessage()

func (*DeleteRoute) ProtoReflect

func (x *DeleteRoute) ProtoReflect() protoreflect.Message

func (*DeleteRoute) Reset

func (x *DeleteRoute) Reset()

func (*DeleteRoute) String

func (x *DeleteRoute) String() string

type LeaderNodeRequest

type LeaderNodeRequest struct {
	// contains filtered or unexported fields
}

func (*LeaderNodeRequest) Descriptor deprecated

func (*LeaderNodeRequest) Descriptor() ([]byte, []int)

Deprecated: Use LeaderNodeRequest.ProtoReflect.Descriptor instead.

func (*LeaderNodeRequest) ProtoMessage

func (*LeaderNodeRequest) ProtoMessage()

func (*LeaderNodeRequest) ProtoReflect

func (x *LeaderNodeRequest) ProtoReflect() protoreflect.Message

func (*LeaderNodeRequest) Reset

func (x *LeaderNodeRequest) Reset()

func (*LeaderNodeRequest) String

func (x *LeaderNodeRequest) String() string

type LinearTimeout

type LinearTimeout struct {
	// contains filtered or unexported fields
}

func (*LinearTimeout) HasThreadReached

func (t *LinearTimeout) HasThreadReached() bool

func (*LinearTimeout) Increment

func (t *LinearTimeout) Increment()

func (*LinearTimeout) Sleep

func (t *LinearTimeout) Sleep()

type LogOutRequest

type LogOutRequest struct {
	// contains filtered or unexported fields
}

func (*LogOutRequest) Descriptor deprecated

func (*LogOutRequest) Descriptor() ([]byte, []int)

Deprecated: Use LogOutRequest.ProtoReflect.Descriptor instead.

func (*LogOutRequest) ProtoMessage

func (*LogOutRequest) ProtoMessage()

func (*LogOutRequest) ProtoReflect

func (x *LogOutRequest) ProtoReflect() protoreflect.Message

func (*LogOutRequest) Reset

func (x *LogOutRequest) Reset()

func (*LogOutRequest) String

func (x *LogOutRequest) String() string

type LogOutResponse

type LogOutResponse struct {
	Status bool `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*LogOutResponse) Descriptor deprecated

func (*LogOutResponse) Descriptor() ([]byte, []int)

Deprecated: Use LogOutResponse.ProtoReflect.Descriptor instead.

func (*LogOutResponse) GetStatus

func (x *LogOutResponse) GetStatus() bool

func (*LogOutResponse) ProtoMessage

func (*LogOutResponse) ProtoMessage()

func (*LogOutResponse) ProtoReflect

func (x *LogOutResponse) ProtoReflect() protoreflect.Message

func (*LogOutResponse) Reset

func (x *LogOutResponse) Reset()

func (*LogOutResponse) String

func (x *LogOutResponse) String() string

type MQEndpointsClient

type MQEndpointsClient interface {
	GetMessages(ctx context.Context, in *RequestMessageData, opts ...grpc.CallOption) (*MessageCollection, error)
	SubmitMessage(ctx context.Context, in *MessageInfo, opts ...grpc.CallOption) (*Status, error)
	CreateQueue(ctx context.Context, in *QueueInfo, opts ...grpc.CallOption) (*Status, error)
	Ack(ctx context.Context, in *AckUpdate, opts ...grpc.CallOption) (*Status, error)
	Login(ctx context.Context, in *Credentials, opts ...grpc.CallOption) (*Status, error)
	ChangePassword(ctx context.Context, in *ChangeCredentials, opts ...grpc.CallOption) (*Status, error)
	Nack(ctx context.Context, in *AckUpdate, opts ...grpc.CallOption) (*Status, error)
	DeleteQueue(ctx context.Context, in *DeleteQueueInfo, opts ...grpc.CallOption) (*Status, error)
	AddRoutingKey(ctx context.Context, in *AddRoute, opts ...grpc.CallOption) (*Status, error)
	DeleteRoutingKey(ctx context.Context, in *DeleteRoute, opts ...grpc.CallOption) (*Status, error)
	CreateUser(ctx context.Context, in *UserCreds, opts ...grpc.CallOption) (*Status, error)
	SubmitBatchedMessages(ctx context.Context, in *BatchMessages, opts ...grpc.CallOption) (*Status, error)
	IsLeaderNode(ctx context.Context, in *LeaderNodeRequest, opts ...grpc.CallOption) (*Status, error)
	DeleteUser(ctx context.Context, in *UserInformation, opts ...grpc.CallOption) (*Status, error)
	BatchAck(ctx context.Context, in *BatchAckUpdate, opts ...grpc.CallOption) (*Status, error)
	BatchNack(ctx context.Context, in *BatchNackUpdate, opts ...grpc.CallOption) (*Status, error)
	LogOut(ctx context.Context, in *LogOutRequest, opts ...grpc.CallOption) (*LogOutResponse, error)
	CreateRole(ctx context.Context, in *CreateRoleRequest, opts ...grpc.CallOption) (*CreateRoleResponse, error)
	AssignRole(ctx context.Context, in *AssignRoleRequest, opts ...grpc.CallOption) (*AssignRoleResponse, error)
	UnassignRole(ctx context.Context, in *UnassignRoleRequest, opts ...grpc.CallOption) (*UnassignRoleResponse, error)
}

MQEndpointsClient is the client API for MQEndpoints service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type MQEndpointsServer

type MQEndpointsServer interface {
	GetMessages(context.Context, *RequestMessageData) (*MessageCollection, error)
	SubmitMessage(context.Context, *MessageInfo) (*Status, error)
	CreateQueue(context.Context, *QueueInfo) (*Status, error)
	Ack(context.Context, *AckUpdate) (*Status, error)
	Login(context.Context, *Credentials) (*Status, error)
	ChangePassword(context.Context, *ChangeCredentials) (*Status, error)
	Nack(context.Context, *AckUpdate) (*Status, error)
	DeleteQueue(context.Context, *DeleteQueueInfo) (*Status, error)
	AddRoutingKey(context.Context, *AddRoute) (*Status, error)
	DeleteRoutingKey(context.Context, *DeleteRoute) (*Status, error)
	CreateUser(context.Context, *UserCreds) (*Status, error)
	SubmitBatchedMessages(context.Context, *BatchMessages) (*Status, error)
	IsLeaderNode(context.Context, *LeaderNodeRequest) (*Status, error)
	DeleteUser(context.Context, *UserInformation) (*Status, error)
	BatchAck(context.Context, *BatchAckUpdate) (*Status, error)
	BatchNack(context.Context, *BatchNackUpdate) (*Status, error)
	LogOut(context.Context, *LogOutRequest) (*LogOutResponse, error)
	CreateRole(context.Context, *CreateRoleRequest) (*CreateRoleResponse, error)
	AssignRole(context.Context, *AssignRoleRequest) (*AssignRoleResponse, error)
	UnassignRole(context.Context, *UnassignRoleRequest) (*UnassignRoleResponse, error)
	// contains filtered or unexported methods
}

MQEndpointsServer is the server API for MQEndpoints service. All implementations must embed UnimplementedMQEndpointsServer for forward compatibility

type Message

type Message struct {
	Rk   string
	Data []byte
}

type MessageCollection

type MessageCollection struct {
	Messages []*MessageData `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
	// contains filtered or unexported fields
}

func (*MessageCollection) Descriptor deprecated

func (*MessageCollection) Descriptor() ([]byte, []int)

Deprecated: Use MessageCollection.ProtoReflect.Descriptor instead.

func (*MessageCollection) GetMessages

func (x *MessageCollection) GetMessages() []*MessageData

func (*MessageCollection) ProtoMessage

func (*MessageCollection) ProtoMessage()

func (*MessageCollection) ProtoReflect

func (x *MessageCollection) ProtoReflect() protoreflect.Message

func (*MessageCollection) Reset

func (x *MessageCollection) Reset()

func (*MessageCollection) String

func (x *MessageCollection) String() string

type MessageData

type MessageData struct {
	Id   []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	// contains filtered or unexported fields
}

func (*MessageData) Descriptor deprecated

func (*MessageData) Descriptor() ([]byte, []int)

Deprecated: Use MessageData.ProtoReflect.Descriptor instead.

func (*MessageData) GetData

func (x *MessageData) GetData() []byte

func (*MessageData) GetId

func (x *MessageData) GetId() []byte

func (*MessageData) ProtoMessage

func (*MessageData) ProtoMessage()

func (*MessageData) ProtoReflect

func (x *MessageData) ProtoReflect() protoreflect.Message

func (*MessageData) Reset

func (x *MessageData) Reset()

func (*MessageData) String

func (x *MessageData) String() string

type MessageInfo

type MessageInfo struct {
	RoutingKey string `protobuf:"bytes,1,opt,name=routingKey,proto3" json:"routingKey,omitempty"`
	Data       []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	// contains filtered or unexported fields
}

func (*MessageInfo) Descriptor deprecated

func (*MessageInfo) Descriptor() ([]byte, []int)

Deprecated: Use MessageInfo.ProtoReflect.Descriptor instead.

func (*MessageInfo) GetData

func (x *MessageInfo) GetData() []byte

func (*MessageInfo) GetRoutingKey

func (x *MessageInfo) GetRoutingKey() string

func (*MessageInfo) ProtoMessage

func (*MessageInfo) ProtoMessage()

func (*MessageInfo) ProtoReflect

func (x *MessageInfo) ProtoReflect() protoreflect.Message

func (*MessageInfo) Reset

func (x *MessageInfo) Reset()

func (*MessageInfo) String

func (x *MessageInfo) String() string

type PasswordManager

type PasswordManager interface {
	GetPassword(string) (string, error)
}

type QueueInfo

type QueueInfo struct {
	RoutingKey string `protobuf:"bytes,1,opt,name=routingKey,proto3" json:"routingKey,omitempty"`
	Name       string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Size       uint32 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
	RetryLimit uint32 `protobuf:"varint,4,opt,name=retryLimit,proto3" json:"retryLimit,omitempty"`
	HasDLQueue bool   `protobuf:"varint,5,opt,name=hasDLQueue,proto3" json:"hasDLQueue,omitempty"`
	// contains filtered or unexported fields
}

func (*QueueInfo) Descriptor deprecated

func (*QueueInfo) Descriptor() ([]byte, []int)

Deprecated: Use QueueInfo.ProtoReflect.Descriptor instead.

func (*QueueInfo) GetHasDLQueue

func (x *QueueInfo) GetHasDLQueue() bool

func (*QueueInfo) GetName

func (x *QueueInfo) GetName() string

func (*QueueInfo) GetRetryLimit

func (x *QueueInfo) GetRetryLimit() uint32

func (*QueueInfo) GetRoutingKey

func (x *QueueInfo) GetRoutingKey() string

func (*QueueInfo) GetSize

func (x *QueueInfo) GetSize() uint32

func (*QueueInfo) ProtoMessage

func (*QueueInfo) ProtoMessage()

func (*QueueInfo) ProtoReflect

func (x *QueueInfo) ProtoReflect() protoreflect.Message

func (*QueueInfo) Reset

func (x *QueueInfo) Reset()

func (*QueueInfo) String

func (x *QueueInfo) String() string

type RequestMessageData

type RequestMessageData struct {
	QueueName string `protobuf:"bytes,1,opt,name=queueName,proto3" json:"queueName,omitempty"`
	Amount    uint32 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
	// contains filtered or unexported fields
}

func (*RequestMessageData) Descriptor deprecated

func (*RequestMessageData) Descriptor() ([]byte, []int)

Deprecated: Use RequestMessageData.ProtoReflect.Descriptor instead.

func (*RequestMessageData) GetAmount

func (x *RequestMessageData) GetAmount() uint32

func (*RequestMessageData) GetQueueName

func (x *RequestMessageData) GetQueueName() string

func (*RequestMessageData) ProtoMessage

func (*RequestMessageData) ProtoMessage()

func (*RequestMessageData) ProtoReflect

func (x *RequestMessageData) ProtoReflect() protoreflect.Message

func (*RequestMessageData) Reset

func (x *RequestMessageData) Reset()

func (*RequestMessageData) String

func (x *RequestMessageData) String() string

type Status

type Status struct {
	Status bool `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*Status) Descriptor deprecated

func (*Status) Descriptor() ([]byte, []int)

Deprecated: Use Status.ProtoReflect.Descriptor instead.

func (*Status) GetStatus

func (x *Status) GetStatus() bool

func (*Status) ProtoMessage

func (*Status) ProtoMessage()

func (*Status) ProtoReflect

func (x *Status) ProtoReflect() protoreflect.Message

func (*Status) Reset

func (x *Status) Reset()

func (*Status) String

func (x *Status) String() string

type SyblineClient

type SyblineClient interface {
	SubmitMessage(ctx context.Context, routingKey string, data []byte) error
	SubmitBatchMessage(ctx context.Context, msg []Message) error
	GetMessages(ctx context.Context, queue string, amount uint32) ([]*MessageData, error)
	CreateQueue(ctx context.Context, routing, name string, size, retryLimit uint32, hasDLQ bool) error
	DeleteOueue(ctx context.Context, name string) error
	Ack(ctx context.Context, queue string, id []byte) error
	Login(ctx context.Context, username string) error
	ChangePassword(ctx context.Context, username, oldPassword, newPassword string) error
	Nack(ctx context.Context, queue string, id []byte) error
	AddRoutingKey(ctx context.Context, queue, routingKey string) error
	DeleteRoutingKey(ctx context.Context, queue, routingKey string) error
	CreateUser(ctx context.Context, username, password string) error
	DeleteUser(ctx context.Context, usernam string) error
	BatchAck(ctx context.Context, queue string, ids [][]byte) error
	BatchNack(ctx context.Context, queue string, ids [][]byte) error
	Consumer(capacity int, time time.Duration, queue string) (*syblineConsumer, error)
	Logout(ctx context.Context) error
	CreateRole(ctx context.Context, role string) error
	AssignRole(ctx context.Context, username, role string) error
	UnassignRole(ctx context.Context, username, role string) error
	Close()
}

func NewBasicSyblineClient

func NewBasicSyblineClient(serverAddr []string, passwordManager PasswordManager, config Config) (SyblineClient, error)

func NewTLSSyblineClient

func NewTLSSyblineClient(serverAddr []string, caFile, certFile, keyFile string, skipVerification bool, passwordManager PasswordManager, config Config) (SyblineClient, error)

type Timeout

type Timeout interface {
	Increment()
	Sleep()
	HasThreadReached() bool
}

func NewTimeout

func NewTimeout(threshold, seconds int) Timeout

type UnassignRoleRequest

type UnassignRoleRequest struct {
	Role     string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
	Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
	// contains filtered or unexported fields
}

func (*UnassignRoleRequest) Descriptor deprecated

func (*UnassignRoleRequest) Descriptor() ([]byte, []int)

Deprecated: Use UnassignRoleRequest.ProtoReflect.Descriptor instead.

func (*UnassignRoleRequest) GetRole

func (x *UnassignRoleRequest) GetRole() string

func (*UnassignRoleRequest) GetUsername

func (x *UnassignRoleRequest) GetUsername() string

func (*UnassignRoleRequest) ProtoMessage

func (*UnassignRoleRequest) ProtoMessage()

func (*UnassignRoleRequest) ProtoReflect

func (x *UnassignRoleRequest) ProtoReflect() protoreflect.Message

func (*UnassignRoleRequest) Reset

func (x *UnassignRoleRequest) Reset()

func (*UnassignRoleRequest) String

func (x *UnassignRoleRequest) String() string

type UnassignRoleResponse

type UnassignRoleResponse struct {
	Status bool `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*UnassignRoleResponse) Descriptor deprecated

func (*UnassignRoleResponse) Descriptor() ([]byte, []int)

Deprecated: Use UnassignRoleResponse.ProtoReflect.Descriptor instead.

func (*UnassignRoleResponse) GetStatus

func (x *UnassignRoleResponse) GetStatus() bool

func (*UnassignRoleResponse) ProtoMessage

func (*UnassignRoleResponse) ProtoMessage()

func (*UnassignRoleResponse) ProtoReflect

func (x *UnassignRoleResponse) ProtoReflect() protoreflect.Message

func (*UnassignRoleResponse) Reset

func (x *UnassignRoleResponse) Reset()

func (*UnassignRoleResponse) String

func (x *UnassignRoleResponse) String() string

type UnimplementedMQEndpointsServer

type UnimplementedMQEndpointsServer struct {
}

UnimplementedMQEndpointsServer must be embedded to have forward compatible implementations.

func (UnimplementedMQEndpointsServer) Ack

func (UnimplementedMQEndpointsServer) AddRoutingKey

func (UnimplementedMQEndpointsServer) AssignRole

func (UnimplementedMQEndpointsServer) BatchAck

func (UnimplementedMQEndpointsServer) BatchNack

func (UnimplementedMQEndpointsServer) ChangePassword

func (UnimplementedMQEndpointsServer) CreateQueue

func (UnimplementedMQEndpointsServer) CreateRole

func (UnimplementedMQEndpointsServer) CreateUser

func (UnimplementedMQEndpointsServer) DeleteQueue

func (UnimplementedMQEndpointsServer) DeleteRoutingKey

func (UnimplementedMQEndpointsServer) DeleteUser

func (UnimplementedMQEndpointsServer) GetMessages

func (UnimplementedMQEndpointsServer) IsLeaderNode

func (UnimplementedMQEndpointsServer) LogOut

func (UnimplementedMQEndpointsServer) Login

func (UnimplementedMQEndpointsServer) Nack

func (UnimplementedMQEndpointsServer) SubmitBatchedMessages

func (UnimplementedMQEndpointsServer) SubmitMessage

func (UnimplementedMQEndpointsServer) UnassignRole

type UniqueChannel

type UniqueChannel struct {
	Ch chan *MessageData
	// contains filtered or unexported fields
}

func NewUniqueChannel

func NewUniqueChannel(cap int) *UniqueChannel

func (*UniqueChannel) Remove

func (uc *UniqueChannel) Remove(value *MessageData)

func (*UniqueChannel) Send

func (uc *UniqueChannel) Send(value *MessageData)

type UnsafeMQEndpointsServer

type UnsafeMQEndpointsServer interface {
	// contains filtered or unexported methods
}

UnsafeMQEndpointsServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to MQEndpointsServer will result in compilation errors.

type UnsecurePasswordManager

type UnsecurePasswordManager struct {
	// contains filtered or unexported fields
}

func NewUnsecurePasswordManager

func NewUnsecurePasswordManager() *UnsecurePasswordManager

func (*UnsecurePasswordManager) GetPassword

func (p *UnsecurePasswordManager) GetPassword(username string) (string, error)

func (*UnsecurePasswordManager) SetPassword

func (p *UnsecurePasswordManager) SetPassword(username, password string)

type UserCreds

type UserCreds struct {
	Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
	// contains filtered or unexported fields
}

func (*UserCreds) Descriptor deprecated

func (*UserCreds) Descriptor() ([]byte, []int)

Deprecated: Use UserCreds.ProtoReflect.Descriptor instead.

func (*UserCreds) GetPassword

func (x *UserCreds) GetPassword() string

func (*UserCreds) GetUsername

func (x *UserCreds) GetUsername() string

func (*UserCreds) ProtoMessage

func (*UserCreds) ProtoMessage()

func (*UserCreds) ProtoReflect

func (x *UserCreds) ProtoReflect() protoreflect.Message

func (*UserCreds) Reset

func (x *UserCreds) Reset()

func (*UserCreds) String

func (x *UserCreds) String() string

type UserInformation

type UserInformation struct {
	Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	// contains filtered or unexported fields
}

func (*UserInformation) Descriptor deprecated

func (*UserInformation) Descriptor() ([]byte, []int)

Deprecated: Use UserInformation.ProtoReflect.Descriptor instead.

func (*UserInformation) GetUsername

func (x *UserInformation) GetUsername() string

func (*UserInformation) ProtoMessage

func (*UserInformation) ProtoMessage()

func (*UserInformation) ProtoReflect

func (x *UserInformation) ProtoReflect() protoreflect.Message

func (*UserInformation) Reset

func (x *UserInformation) Reset()

func (*UserInformation) String

func (x *UserInformation) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL