To use the Go client API to the circuit, start by importing the client package:
import "github.com/gocircuit/circuit/client"
The first step of every circuit client application is connecting to a circuit cluster. There are two alternative methods for doing so.
If you want to connect the client to a specific circuit server with a known circuit address, then use
Dial(addr string, authkey []byte) *Client
Argument addr specifies the circuit server address (a string of the form circuit://…),
whereas authkey should equal the authentication key for this cluster, or nil if
the cluster does not use encryption and authentication.
Dial blocks until the connection is established and on success returns a client
object, which implements the Anchor interface and represents the root of the
anchor hierarchy.
If Dial is to fail, it will report an error by panicing.
Alternatively, if the circuit cluster supports (multicast-based) discovery,
you could use DialDiscover to first discover a random
circuit server from the cluster and then connect to it:
DialDiscover(multicast string, authkey []byte) *Client
The argument multicast must equal the multicast discovery address for the
circuit cluster.