riak-0.9.1.0: A Haskell client for the Riak decentralized data store

Copyright(c) 2011 MailRank, Inc.
LicenseApache
MaintainerMark Hibberd <mark@hibberd.id.au>, Nathan Hunter <nhunter@janrain.com>
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell98

Network.Riak.Types

Contents

Description

Basic types.

Synopsis

Client management

type ClientID = ByteString Source

A client identifier. This is used by the Riak cluster when logging vector clock changes, and should be unique for each client.

data Client Source

Constructors

Client 

Fields

host :: HostName

Name of the server to connect to.

port :: ServiceName

Port number to connect to (default is 8087).

clientID :: ClientID

Client identifier.

Connection management

data Connection Source

A connection to a Riak server.

Errors

Data types

type Bucket = ByteString Source

A Bucket is a container and keyspace for data stored in Riak, with a set of common properties for its contents (the number of replicas, for instance).

type Key = ByteString Source

Keys are unique object identifiers in Riak and are scoped within buckets.

type Tag = ByteString Source

An application-specific identifier for a link. See http://wiki.basho.com/Links.html for details.

newtype VClock Source

A wrapper that keeps Riak vector clocks opaque.

Constructors

VClock 

Fields

fromVClock :: ByteString

Unwrap the ByteString. (This is really only useful for printing the raw vclock string.)

data Job Source

A specification of a MapReduce job. http://wiki.basho.com/MapReduce.html.

Instances

Quorum management

data Quorum Source

A read/write quorum. The quantity of replicas that must respond to a read or write request before it is considered successful. This is defined as a bucket property or as one of the relevant parameters to a single request (R,W,DW,RW).

Constructors

Default

Use the default quorum settings for the bucket.

One

Success after one server has responded.

Quorum

Success after a quorum of servers has responded.

All

Success after all servers have responded.

type RW = Quorum Source

Read/write quorum. How many replicas need to collaborate when deleting a value.

type R = Quorum Source

Read quorum. How many replicas need to agree when retrieving a value.

type W = Quorum Source

Write quorum. How many replicas to write to before returning a successful response.

type DW = Quorum Source

Durable write quorum. How many replicas to commit to durable storage before returning a successful response.

Message identification

class (Tagged msg, ReflectDescriptor msg, Show msg, Wire msg) => Request msg Source

A message representing a request from client to server.

Minimal complete definition

expectedResponse

class (Tagged msg, ReflectDescriptor msg, Show msg, Wire msg) => Response msg Source

A message representing a response from server to client.

class (Request req, Response resp) => Exchange req resp | req -> resp, resp -> req Source

class Tagged msg where Source

Messages are tagged.

Methods

messageTag Source

Arguments

:: msg 
-> MessageTag

Retrieve a message's tag.

Instances

data IndexValue Source

Constructors

IndexInt !Index !Int 
IndexBin !Index !ByteString 

data IndexQuery Source

Index query. Can be exact or range, int or bin. Index name should not contain the "_bin" or "_int" part, since it's determined from data constructor.