fairymqgo

package module
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2024 License: GPL-3.0 Imports: 11 Imported by: 0

README


fairyMQ GO Native Client Module

Install

go get github.com/fairymq/fairymq-go

OR

go mod download github.com/fairymq/fairymq-go

Using

	client := &fairymqgo.Client{
		Host:      "", // i.e 0.0.0.0
		PublicKey: "", // i.e example.public.pem
	}
	
	err := client.Configure()
	if err != nil {
		log.Fatalf(err.Error())
	}

	err := client.Enqueue([]byte("Hello world"))
	if err != nil {
		log.Fatalf(err.Error())
	}

	err = client.Enqueue([]byte("Hello again"))
	if err != nil {
		log.Fatalf(err.Error())
	}

	first, err := client.FirstIn() // Get first up in queue
	if err != nil {
		log.Fatalf(err.Error()) 
	}
	
	//.. do something with last message bytes

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	Host            string       // i.e 0.0.0.0:5991
	PublicKey       string       //i.e testing.public.pem
	UDPAddr         *net.UDPAddr // address of UDP end point
	UDPConn         *net.UDPConn // UDP connection
	ParsedPublicKey any          // Parsed public key
}

Client is the fairyMQ client structure

func (*Client) Clear

func (client *Client) Clear() error

Clear clears entire queue

func (*Client) Close added in v0.2.1

func (client *Client) Close()

Closes up connection

func (*Client) Configure added in v0.2.0

func (client *Client) Configure() error

Configure configures public key amongst other things. Must run before anything else

func (*Client) Enqueue

func (client *Client) Enqueue(data []byte) error

Enqueue enqueues a new message into queue

func (*Client) EnqueueWithKey added in v0.2.0

func (client *Client) EnqueueWithKey(data []byte, messageKey string) error

EnqueueWithKey enqueues a new message into queue with a provided key. Keys are not unique

func (*Client) ExpireMessages added in v0.2.0

func (client *Client) ExpireMessages(enabled bool) error

ExpireMessages sets whether queue expires messages or not. Default is 7200 seconds

func (*Client) FirstIn

func (client *Client) FirstIn() ([]byte, error)

FirstIn first message up in queue

func (*Client) GetAllMessagesByKey added in v0.2.2

func (client *Client) GetAllMessagesByKey(key string) ([][]byte, error)

func (*Client) LastIn

func (client *Client) LastIn() ([]byte, error)

LastIn get last in queue

func (*Client) Length

func (client *Client) Length() ([]byte, error)

Length get length of queue

func (*Client) ListConsumers

func (client *Client) ListConsumers() ([]byte, error)

ListConsumers lists queue consumers

func (*Client) NewConsumer

func (client *Client) NewConsumer(address string) error

NewConsumer adds a new consumer

func (*Client) Pop

func (client *Client) Pop() error

Pop removes last message from queue

func (*Client) RemoveConsumer

func (client *Client) RemoveConsumer(address string) error

RemoveConsumer removes consumer

func (*Client) SetExpireMessagesSeconds added in v0.2.0

func (client *Client) SetExpireMessagesSeconds(sec uint) error

SetExpireMessagesSeconds sets queue expire messages seconds configuration

func (*Client) Shift

func (client *Client) Shift() error

Shift removes first up in queue

Jump to

Keyboard shortcuts

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