warp API

warp

package

API reference for the warp package.

I
interface

MeshProvider

MeshProvider defines the interface required from a go-warp node.

pkg/adapter/warp/broker.go:10-13
type MeshProvider interface

Methods

Broadcast
Method

Parameters

topic string
data []byte

Returns

error
func Broadcast(...)
Listen
Method

Parameters

topic string
handler func([]byte)

Returns

error
func Listen(...)
S
struct

Broker

Broker adapts a Warp Mesh provider to the Relay Broker interface.

pkg/adapter/warp/broker.go:16-18
type Broker struct

Methods

Publish
Method

Parameters

topic string
payload []byte

Returns

error
func (*Broker) Publish(ctx context.Context, topic string, payload []byte) error
{
	return b.mesh.Broadcast(topic, payload)
}
Subscribe
Method

Parameters

topic string
handler func([]byte) error

Returns

error
func (*Broker) Subscribe(topic string, handler func([]byte) error) error
{
	return b.mesh.Listen(topic, func(data []byte) {
		if err := handler(data); err != nil {
			fmt.Fprintf(os.Stderr, "[WarpBroker] Handler execution failed: %v\n", err)
		}
	})
}

Fields

Name Type Description
mesh MeshProvider
F
function

NewBroker

NewBroker creates a Relay broker backed by a Warp Mesh provider.

Parameters

provider

Returns

pkg/adapter/warp/broker.go:21-23
func NewBroker(provider MeshProvider) *Broker

{
	return &Broker{mesh: provider}
}