Skip to content

Latest commit

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

RELP

A Golang library for RELP.

Usage

Server

// relp.NewServer(host string, port int, autoAck bool)// host - Host to listen on // port - Port to listen on// autoAck - Whether or not to acknowledge message as soon as they're recievedrelpServer, err:=relp.NewServer("localhost", 3333, true)
iferr!=nil {
fmt.Println("Error starting server:", err)
}
fmt.Println("Listening on localhost:3333")
for {
message:=<-relpServer.MessageChannelfmt.Println("Got message:", message.Data)
}
// When done:relpServer.Close()

If you want to manage message acknowledgement yourself, just set autoAck to false when you create the server, then call message.Ack():

relpServer, err:=relp.NewServer("localhost", 3333, false)
for {
message:=<-relpServer.MessageChanneldoSomeAwesomeProcessing(message)
err=message.Ack()
}

Client

// relp.NewClient(host string, port int)relpClient, err:=relp.NewClient("localhost", 3333)
iferr!=nil {
fmt.Println("Error starting client:", err)
}
relpClient.SendString("Testing! Hooray!")
customMessage:= relp.Message{
Txn: 99,
Command: "syslog",
Data: "Manually constructed messages if you want that for some reason!",
}
relpClient.SendMessage(customMessage)
relpClient.Close()

At the moment, messages wait for a corresponding ack before they return. This behavior will be configurable in the future.

About

A simple RELP library for Go

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages