zmqutil

package
v0.3.13 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2017 License: ISC Imports: 11 Imported by: 2

Documentation

Overview

various comm ZMq routines shared be all commands

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CloseClients

func CloseClients(clients []*Client)

disconnect old addresses and close all

func MakeKeyPair

func MakeKeyPair(publicKeyFileName string, privateKeyFileName string) error

create a new public/private keypair and write them to separate files

func NewBind

func NewBind(log *logger.L, socketType zmq.Type, zapDomain string, privateKey []byte, publicKey []byte, listen []*util.Connection) (*zmq.Socket, *zmq.Socket, error)

bind a list of addresses creates up to 2 sockets for separate IPv4 and IPv6 traffic

func NewServerSocket

func NewServerSocket(socketType zmq.Type, zapDomain string, privateKey []byte, publicKey []byte, v6 bool) (*zmq.Socket, error)

create a socket suitable for a server side connection

func NewSignalPair

func NewSignalPair(signal string) (*zmq.Socket, *zmq.Socket, error)

return a pair of connected push/pull sockets for shutdown signalling

func ReadKeyFile

func ReadKeyFile(keyFileName string) ([]byte, bool, error)

read a public key from a file returning it as a 32 byte string

func ReadPrivateKeyFile

func ReadPrivateKeyFile(keyFileName string) ([]byte, error)

read a private key from a file returning it as a 32 byte string

func ReadPublicKeyFile

func ReadPublicKeyFile(keyFileName string) ([]byte, error)

read a public key from a file returning it as a 32 byte string

func StartAuthentication

func StartAuthentication() error

initilaise the ZMQ security subsystem

Types

type Client

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

structure to hold a client connection

func NewClient

func NewClient(socketType zmq.Type, privateKey []byte, publicKey []byte, timeout time.Duration) (*Client, error)

create a cliet socket ususlly of type zmq.REQ or zmq.SUB

func (*Client) Add

func (client *Client) Add(poller *zmq.Poller, state zmq.State) int

add to a poller

func (*Client) Age

func (client *Client) Age() time.Duration

get the age of connection

func (*Client) Close

func (client *Client) Close() error

disconnect old address and close

func (*Client) Connect

func (client *Client) Connect(conn *util.Connection, serverPublicKey []byte) error

disconnect old address and connect to new

func (*Client) IsConnected

func (client *Client) IsConnected() bool

check if connected to a node

func (*Client) IsConnectedTo

func (client *Client) IsConnectedTo(serverPublicKey []byte) bool

check if connected to a specific node

func (*Client) IsDisconnected

func (client *Client) IsDisconnected() bool

check if not connected to any node

func (*Client) Receive

func (client *Client) Receive(flags zmq.Flag) ([][]byte, error)

receive a reply

func (*Client) Reconnect

func (client *Client) Reconnect() error

close and reopen the connection

func (*Client) Send

func (client *Client) Send(items ...interface{}) error

send a message

Jump to

Keyboard shortcuts

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