!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{| } ~   portable experimental#Bryan O'Sullivan <bos@mailrank.com>portable experimental#Bryan O'Sullivan <bos@mailrank.com>portable experimental#Bryan O'Sullivan <bos@mailrank.com>I>Durable write quorum. How many replicas to commit to durable 1 storage before returning a successful response. @Write quorum. How many replicas to write to before returning a  successful response. @Read quorum. How many replicas need to agree when retrieving a  value. !Read/:write quorum. How many replicas need to collaborate when  deleting a value. "A read/:write quorum. The quantity of replicas that must respond E 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 ( ,,,!). #*Success after all servers have responded. $1Success after a quorum of servers has responded. %(Success after one server has responded. &0Use the default quorum settings for the bucket. '0A wrapper that keeps Riak vector clocks opaque. () Unwrap the #. (This is really only useful for " printing the raw vclock string.) *+9A message representing a response from server to client. ,8A message representing a request from client to server. -Messages are tagged. .Retrieve a message's tag. /2An identifier for an inbound or outbound message. 0123456789:;<=>?@ABCDEFGHIA specification of a MapReduce  job.  $http://wiki.basho.com/MapReduce.html. JKL4An application-specific identifier for a link. See   http://wiki.basho.com/Links.html for details. MAKeys are unique object identifiers in Riak and are scoped within  buckets. N>A Bucket is a container and keyspace for data stored in Riak, A with a set of common properties for its contents (the number of  replicas, for instance). OThe main Riak exception type. PQRSA connection to a Riak server. TUV%The configuration we connected with. W.Received data that has not yet been consumed. XYZ"Name of the server to connect to. [-Port number to connect to (default is 8087). \Client identifier. ]<A client identifier. This is used by the Riak cluster when E logging vector clock changes, and should be unique for each client. E !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]E !"&%$##$%&'()()*+,-../HGFEDCBA@?>=<;:98765432100123456789:;<=>?@ABCDEFGHIKJJKLMNOPQRPQRPQRSTUVWTUVWXYZ[\YZ[\]portable experimental#Bryan O'Sullivan <bos@mailrank.com>^BThe current debugging level. This is established once by reading  the  RIAK_DEBUG environment variable. _Set the  to log to ( is the default). `0Print a debug message, if debugging is enabled. Function name. Debug message. aBPrint a debug message, and information about some values. If the = debug level is greater than 1, print the values themselves. bShow a -2 value. Show the entire value if the debug level % is above 1, just the tag otherwise. ^_`ab^`a_b^_`abportable experimental#Bryan O'Sullivan <bos@mailrank.com>cCreate a link. dAn empty piece of content. eContent encoded as  application/ octet-stream. fContent encoded as  application/json.  cdef  defccdefportable experimental#Bryan O'Sullivan <bos@mailrank.com> g A newtype wrapper that uses the  method of a type's  7 instance to perform vector clock conflict resolution. hij>A type that can automatically resolve a vector clock conflict * between two or more versions of a value. >Instances must be symmetric in their behaviour, such that the  following law is obeyed:   resolve a b == resolve b a 9Otherwise, there are no restrictions on the behaviour of k.  The result may be a, b, a value derived from a and b, or  something else. +If several conflicting siblings are found, k will be : applied over all of them using a fold, to yield a single  "winner". k'Resolve a conflict between two values. ghijk ghihijkkportable experimental#Bryan O'Sullivan <bos@mailrank.com>ghijkjkghiportable experimental#Bryan O'Sullivan <bos@mailrank.com>portable experimental#Bryan O'Sullivan <bos@mailrank.com>= !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSVXYZ[\]@]XYZ[\SVOPQRPQRNML'()IKJ"&%$#! ,+*/HGFEDCBA@?>=<;:9876543210-.portable experimental#Bryan O'Sullivan <bos@mailrank.com>l;The class of string-like types that can be URL-escaped and  unescaped. mURL-escape a string. nURL-unescape a string. o?URL-unescape a string that is presumed to be properly escaped. B If the string is invalid, an error will be thrown that cannot be  caught from pure code. %URL-escape a byte from a bytestring.  URL-unescape' a bytestring. lmnolmnolmnmnoportable experimental#Bryan O'Sullivan <bos@mailrank.com> pCreate a ping request. qCreate a client-ID request. rCreate a server-info request. sACreate a get request. The bucket and key names are URL-escaped. tACreate a put request. The bucket and key names are URL-escaped.  Any Link values inside the   are assumed to have been  constructed with the u function, and hence not escaped. u:Create a link. The bucket and key names are URL-escaped. vDCreate a delete request. The bucket and key names are URL-escaped. wCreate a list-buckets request. x=Create a list-keys request. The bucket name is URL-escaped. y>Create a get-bucket request. The bucket name is URL-escaped. z>Create a set-bucket request. The bucket name is URL-escaped. {Create a map-reduce request. pqrstuvwxyz{pqrstvuwxyz{ pqrstuvwxyz{ portable experimental#Bryan O'Sullivan <bos@mailrank.com>|}=Construct a get response. Bucket and key names in links are  URL-unescaped. ~=Construct a put response. Bucket and key names in links are  URL-unescaped. @Construct a list-buckets response. Bucket names are unescaped. =URL-unescape the names of keys and buckets in the links of a    value. |}~|}~|}~portable experimental#Bryan O'Sullivan <bos@mailrank.com>>Default client configuration. Talks to localhost, port 8087, # with a randomly chosen client ID. Tell the server our client ID. Generate a random client ID.  Add a random ] to a YX if the YX doesn't  already have one. Connect to a server. Disconnect from a server. 9We use a larger receive buffer than we usually need, and 3 generally ask to receive more data than we know we'll need, in the  hope that we'6ll be able to buffer some of it and avoid future recv  system calls. 8Send a request to the server, and receive its response. BSend a request to the server, and receive its response (which may  be empty). ?Send a request to the server, and receive its response, but do  not decode it. ;Send a series of requests to the server, back to back, and < receive a response for each request sent. The sending and B receiving will be overlapped if possible, to improve concurrency  and reduce latency. ;Send a series of requests to the server, back to back, and @ receive a response for each request sent (the responses may be D empty). The sending and receiving will be overlapped if possible, , to improve concurrency and reduce latency. ;Send a series of requests to the server, back to back, and D receive (but do not decode) a response for each request sent. The B sending and receiving will be overlapped if possible, to improve ! concurrency and reduce latency.  portable experimental#Bryan O'Sullivan <bos@mailrank.com>(A pool of connections to a Riak server.  This pool is "striped"(, i.e. it consists of several sub-pools ! that are managed independently. BThe total number of connections that can possibly be open at once  is  * . <Client specification. The client ID is ignored, and always 4 regenerated automatically for each new connection. =Stripe count. The number of distinct sub-pools to maintain. % The smallest acceptable value is 1. <Amount of time for which an unused connection is kept open. / The smallest acceptable value is 0.5 seconds. <The elapsed time before closing may be a little longer than > requested, as the reaper thread wakes at 2-second intervals. <Maximum number of connections to keep open per stripe. The ! smallest acceptable value is 1. @Requests for connections will block if this limit is reached on > a single stripe, even if other stripes have idle connections  available. !Per-capability connection pools. A single striped pool. 2Count of open connections (both idle and in use). Idle entries.  A single connection pool entry. Time of last return. Create a new connection pool. 5Client configuration. The client ID is ignored, and ; always regenerated automatically for each new connection. 3Stripe count. The number of distinct sub-pools to 0 maintain. The smallest acceptable value is 1. 6Amount of time for which an unused connection is kept 6 open. The smallest acceptable value is 0.5 seconds. <The elapsed time before closing may be a little longer than > requested, as the reaper thread wakes at 2-second intervals. 7Maximum number of connections to keep open per stripe. % The smallest acceptable value is 1. =Requests for connections will block if this limit is reached 5 on a single stripe, even if other stripes have idle  connections available. @Periodically go through all pools, closing any connections that # have been left idle for too long. %Temporarily take a connection from a , perform an action 0 with it, and return it to the pool afterwards. 4 If the pool has a connection available, it is used  immediately. > Otherwise, if the maximum number of connections has not been 2 reached, a new connection is created and used. = If the maximum number of connections has been reached, this C function blocks until a connection becomes available, then that  connection is used. 3If the action throws an exception of any type, the S is * destroyed, and not returned to the pool. ;It probably goes without saying that you should never call  6 on a connection, as doing so will cause a subsequent D user, expecting the connection to be valid, to throw an exception.   portable experimental#Bryan O'Sullivan <bos@mailrank.com>  portable experimental#Bryan O'Sullivan <bos@mailrank.com>BRetrieve a single value. If conflicting values are returned, the  j is used to choose a winner. BRetrieve multiple values. If conflicting values are returned for  a key, the j is used to choose a winner. ?Store a single value, automatically resolving any vector clock A conflicts that arise. A single invocation of this function may @ involve several roundtrips to the server to resolve conflicts. 4If a conflict arises, a winner will be chosen using mconcat, and D the winner will be stored; this will be repeated until no conflict  occurs. CThe final value to be stored at the end of any conflict resolution  is returned. ?Store a single value, automatically resolving any vector clock A conflicts that arise. A single invocation of this function may @ involve several roundtrips to the server to resolve conflicts. 4If a conflict arises, a winner will be chosen using mconcat, and D the winner will be stored; this will be repeated until no conflict  occurs. AStore multiple values, resolving any vector clock conflicts that B arise. A single invocation of this function may involve several 0 roundtrips to the server to resolve conflicts. CIf any conflicts arise, a winner will be chosen in each case using  mconcat8, and the winners will be stored; this will be repeated  until no conflicts occur. ?For each original value to be stored, the final value that was ; stored at the end of any conflict resolution is returned. AStore multiple values, resolving any vector clock conflicts that B arise. A single invocation of this function may involve several 0 roundtrips to the server to resolve conflicts. CIf any conflicts arise, a winner will be chosen in each case using  mconcat8, and the winners will be stored; this will be repeated  until no conflicts occur.  portable experimental#Bryan O'Sullivan <bos@mailrank.com> portable experimental#Bryan O'Sullivan <bos@mailrank.com>  Unwrap a K-wrapped value. ?Wrap up a value so that it will be encoded and decoded as JSON  when converted to/from Content.  portable experimental#Bryan O'Sullivan <bos@mailrank.com>BRetrieve a single value. If conflicting values are returned, the  j is used to choose a winner. BRetrieve multiple values. If conflicting values are returned for  a key, the j is used to choose a winner. ?Store a single value, automatically resolving any vector clock A conflicts that arise. A single invocation of this function may @ involve several roundtrips to the server to resolve conflicts. 4If a conflict arises, a winner will be chosen using mconcat, and D the winner will be stored; this will be repeated until no conflict  occurs. CThe final value to be stored at the end of any conflict resolution  is returned. ?Store a single value, automatically resolving any vector clock A conflicts that arise. A single invocation of this function may @ involve several roundtrips to the server to resolve conflicts. 4If a conflict arises, a winner will be chosen using mconcat, and D the winner will be stored; this will be repeated until no conflict  occurs. AStore multiple values, resolving any vector clock conflicts that B arise. A single invocation of this function may involve several 0 roundtrips to the server to resolve conflicts. CIf any conflicts arise, a winner will be chosen in each case using  mconcat8, and the winners will be stored; this will be repeated  until no conflicts occur. ?For each original value to be stored, the final value that was ; stored at the end of any conflict resolution is returned. AStore multiple values, resolving any vector clock conflicts that B arise. A single invocation of this function may involve several 0 roundtrips to the server to resolve conflicts. CIf any conflicts arise, a winner will be chosen in each case using  mconcat8, and the winners will be stored; this will be repeated  until no conflicts occur. portable experimental#Bryan O'Sullivan <bos@mailrank.com> 7Check to see if the connection to the server is alive. BFind out from the server what client ID this connection is using. 'Retrieve information about the server. ;Retrieve up a value. This may return multiple conflicting 8 siblings. Choosing among them is your responsibility. <Store a single value. This may return multiple conflicting B siblings. Choosing among them, and storing a new value, is your  responsibility. :Store a single value, without the possibility of conflict  resolution. Delete a value. %Retrieve the properties of a bucket. #Store new properties for a bucket.  Launch a  job. "#$%&STUVWXYZ[\] ]XYZ[\STUVW"&%$# portable experimental#Bryan O'Sullivan <bos@mailrank.com> "#$%&STUVWXYZ[\] ]XYZ[\STUVW"&%$# !"#$%%&'&(&)&*&*+,-./0123456789:;<=>?@ABCDEDFGHHIJKLMNOP:QR.S8T6U,VW2X4YZ[0\<]^_`abcdefghhijkllmnopqrstuvwxyz{|}~v    `y       riak-0.3.2.0Network.Riak.RequestNetwork.Riak.ContentNetwork.Riak.FunctionsNetwork.Riak.TypesNetwork.Riak.BasicNetwork.Riak.DebugNetwork.Riak.ResolvableNetwork.Riak.EscapeNetwork.Riak.ResponseNetwork.Riak.ConnectionNetwork.Riak.Connection.PoolNetwork.Riak.ValueNetwork.Riak.Value.ResolvableNetwork.Riak.JSONNetwork.Riak.JSON.ResolvableNetwork.Riak.Connection.NoPushNetwork.Riak.Types.Internal Network.Riak.Resolvable.InternalNetwork.Riak.Tag Network.Riak.Connection.Internal Network.Riakriak-protobuf-0.14.0.0&Network.Riak.Protocol.SetBucketRequestSetBucketRequest Network.Riak.Protocol.PutRequest PutRequestNetwork.Riak.Protocol.Contentusermetalast_mod_usecslast_modlinksvtagcontent_encodingcharset content_typevalueContentNetwork.Riak.Protocol.LinktagkeybucketLink#Network.Riak.Protocol.DeleteRequest DeleteRequest&Network.Riak.Protocol.GetBucketRequestGetBucketRequest(Network.Riak.Protocol.GetClientIDRequestGetClientIDRequest Network.Riak.Protocol.GetRequest GetRequest*Network.Riak.Protocol.GetServerInfoRequestGetServerInfoRequest(Network.Riak.Protocol.ListBucketsRequestListBucketsRequest%Network.Riak.Protocol.ListKeysRequestListKeysRequest&Network.Riak.Protocol.MapReduceRequestMapReduceRequest!Network.Riak.Protocol.PingRequest PingRequeststrictlazy mapEitherDWWRRWQuorumAllOneDefaultVClock fromVClockExchangeResponseRequestTagged messageTag MessageTagMapReduceResponseSetBucketResponseGetBucketResponseListKeysResponseListBucketsResponseDeleteResponse PutResponse GetResponseGetServerInfoResponseSetClientIDResponseSetClientIDRequestGetClientIDResponse PingResponse ErrorResponseJobErlangJSONTagKeyBucket RiakException excModule excFunction excMessage ConnectionconnSock connClient connBufferClienthostportclientIDClientIDlevel setHandledebug debugValuesshowMlinkemptybinaryjsonResolvableMonoidRMunRM ResolvableresolveEscapeescape unescape'unescapeping getClientID getServerInfogetputdelete listBucketslistKeys getBucket setBucket mapReduce unescapeLinks defaultClient setClientID makeClientIDconnect disconnectexchange exchangeMaybe exchange_pipeline pipelineMaybe pipeline_Poolclient numStripesidleTimemaxConnectionscreatewithConnection IsContent parseContent toContent fromContentputManyput_putMany_getManyplainfoldKeys c_setsockoptnoPush setNoPushbytestring-0.9.1.10Data.ByteString.Lazy.Internal ByteStringexpectedResponse TypeException NetExceptionshowRiakExceptionformatRiakExceptionnetError typeError fromQuorumtoQuorumhandlebaseGHC.IO.Handle.TypesHandleGHC.IO.Handle.FDstderr Data.MonoidmappendMonoid resolveMany' resolveManyputTaggetTag moduleError escapeWord8 unescapeBS addClientIDrecvBufferSize recvExactlyrecvGetrecvGetN putRequest throwError getResponsesendAll sendRequest recvResponse recvResponse_recvMaybeResponserecvCorrectTag debugRecvpipe onIOException localPools LocalPool connectedentriesEntry connectionlastUsereaper modifyTVar_modErrorputRespgetRespconvertJNetwork.Riak.Protocol.MapReduce MapReduce