Documentation ¶
Index ¶
- Constants
- Variables
- func AreEqual(c *ClientConfig, d *ClientConfig) bool
- type Client
- func (c *Client) Create(ctx context.Context, name string, r irange.Range, lifetime time.Duration, ...) error
- func (c *Client) Delete(ctx context.Context, name string) error
- func (c *Client) Error(ctx context.Context, id irange.ID) error
- func (c *Client) Fatal(ctx context.Context, id irange.ID) error
- func (c *Client) Info(ctx context.Context, name string, entry int64) (irange.Info, error)
- func (c *Client) List(ctx context.Context) ([]string, error)
- func (c *Client) Next(ctx context.Context, name string, m *irange.Metadata) (irange.Entry, error)
- func (c *Client) Requeue(ctx context.Context, id irange.ID) error
- func (c *Client) RequeueActive(ctx context.Context, name string) error
- func (c *Client) RequeueFailed(ctx context.Context, name string) error
- func (c *Client) RequeueSucceeded(ctx context.Context, name string) error
- func (c *Client) Status(ctx context.Context, name string) (irange.Status, error)
- func (c *Client) Success(ctx context.Context, id irange.ID) error
- type ClientConfig
- type Option
- type Server
Constants ¶
const ( DefaultTCPPort = 12359 DefaultWSPort = 80 )
The default ports that the rangedb server listens on.
Variables ¶
var (
ErrNilClient = errors.New("uninitialised client")
)
errors
Functions ¶
func AreEqual ¶ added in v0.0.13
func AreEqual(c *ClientConfig, d *ClientConfig) bool
AreEqual returns true iff the two configurations are equal.
Types ¶
type Client ¶
type Client struct { log.BasicLogable io.Closer // contains filtered or unexported fields }
Client is the client-view of the server.
func NewClient ¶
func NewClient(ctx context.Context, cfg *ClientConfig) (*Client, error)
NewClient returns a new client view of the server specified by the configuration cfg.
func (*Client) Create ¶
func (c *Client) Create(ctx context.Context, name string, r irange.Range, lifetime time.Duration, maxRetries int, maxConcurrency int) error
Create creates a range r with given name. Entries have the given lifetime; they are retried at most maxRetries times on failure, and at most maxConcurrency entries can be active at the same time. If a range with that name already exists, Create returns ErrRangeExists.
func (*Client) Error ¶
Error indicates that the entry with the given ID has failed and should be retried.
func (*Client) Fatal ¶
Fatal indicates that the entry with the given ID has failed and should not be requeued.
func (*Client) Info ¶
Info returns information about the given entry in the range with the given name.
func (*Client) Next ¶
Next returns the next entry in the range with the given name, or ErrEmpty if no such entry exists. The caller identifies itself to the storage engine via m.
func (*Client) Requeue ¶
Requeue indicates that the entry with the given ID should be requeued, without incrementing the number of failures.
func (*Client) RequeueActive ¶ added in v0.0.11
RequeueActive requeues all active entries in the range with the given name
func (*Client) RequeueFailed ¶ added in v0.0.11
RequeueFailed requeues all failed entries in the range with the given name
func (*Client) RequeueSucceeded ¶ added in v0.0.11
RequeueSucceeded requeues all entries that have succeeded in the range with the given name
type ClientConfig ¶
type ClientConfig struct { Address *address.Address // The address to connect to SSLDisabled bool // Disable SSL? SSLCert []byte // The SSL certificate (if any) }
ClientConfig describes the configuration options we allow a user to set on a client connection.
func DefaultConfig ¶
func DefaultConfig() *ClientConfig
DefaultConfig returns a new client configuration initialised with the default values.
The initial default value for the host will be read from the environment variable
PCAS_RANGEDB_ADDRESS = "hostname[:port]" or "ws://host/path"
on package init.
func SetDefaultConfig ¶
func SetDefaultConfig(c *ClientConfig) *ClientConfig
SetDefaultConfig sets the default client configuration to c and returns the old default configuration. This change will be reflected in future calls to DefaultConfig.
func (*ClientConfig) Copy ¶
func (c *ClientConfig) Copy() *ClientConfig
Copy returns a copy of the configuration.
func (*ClientConfig) Hash ¶ added in v0.0.13
func (c *ClientConfig) Hash() uint32
Hash returns a hash for the configuration.
func (*ClientConfig) URI ¶
func (c *ClientConfig) URI() string
URI returns the URI connection string.
Note that the returned string may differ slightly from the value returned c.Address.URI(). For example, if c.Address omits a port number, an appropriate default port number is used here.
func (*ClientConfig) Validate ¶
func (c *ClientConfig) Validate() error
Validate validates the client configuration, returning an error if there's a problem.
type Option ¶
type Option interface {
// contains filtered or unexported methods
}
Option sets options on an irange server.
func SSLCertAndKey ¶
SSLCertAndKey adds the given SSL public certificate and private key to the server.
func WithStorage ¶
WithStorage sets the underlying storage engine for the server.