XP^r      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqq  !"#$%&'()*+,rstu-.vwx/0123456789:y;z{|}~<=>?@ABCDESet a value in the cache. FAdd a value to cache. Fails if  already present. G$Replaces a value in cahce. Fails if  not present. HGet a value from cache Iamount initial value Jamount initial value KDelete a cache entry LQuit MFlush the cache N3Keepalive. Flushes responses for quiet operations. OReturns the server version P,Appends the value to the value in the cache Q-Prepends the value to the value in the cache R5Fetch statistics about the cahce. Returns a sequence  of responses. S6List SASL authenitication mechanisms, space delimeted T7Begin SASL authentication. May return the further auth - required error if further steps are needed. U5Continue SASL authentication. May return the further 1 aut required error if further steps are needed. V#Add an opaque marker to a request. 1 This is returned unchanged in the corresponding  response. W%Add a version tag to a request. When  added to a set/replace request, the request / will fail if the data has been modified since % the CAS was retrieved for the item. 0A starter request with fields set to reasonable / defaults. The opcode field is left undefined. X/Returns the operation the request will perform Extras Key Body YZ Pulls a reponse to an operation  off of a handle.  May throw a .- [  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[;XCBEFGHIJPQKLMNORSTUA@VW/0123456789Z-.>?<=D +,:Y*)('&%$#"! [   *)('&%$#"! !"#$%&'()*+,,-../ 01234567890123456789:;<==>??@ABCDEFGHIJKLMNOPQRSTUVWXYZ+The connection keeps a queue of callbacks. ! These are entries on that queue [,For thread safety of operations, we perform , all requests on a wrapper around a handle. \Create a connection.  Please don'!t use the handle after opening a  connection with it. Process the callback queue 0Until we have an implementation of RFC 1982, we  never return  5Take many responses off of the queue as long as they 4 match the passed in senquence. The second returned , value is the response which did not match. ]0This function ignores anything coming back from  the server.  Non-blocking. ^/Place a synchronous request which only returns  one reply _-Place a synchronous request which may return  multiple response (, pretty much) `Shut down the connection.  Non-blocking. Put a request onto the handle Grab the next sequence number "Add an item on the callback queue [\]^_`[\`^_][\]^_`#Antoine Latter <aslatter@gmail.com>aBSome authentications require mutliple back and forths between the 5 client and the server. This type encapsulates that. bc4An error consists of the error code returned by the A server and a human-readble error string returned by the server. deSet a value in the cache f=Set a vlue in the cache. Fails if a value is already defined  for the indicated key. gBSet a value in the cache. Fails if a value is not already defined  for the indicated key. hRetrive a value from the cache iDelete an entry in the cache jFUpdate a value in the cache. This operation requires two round trips. G This operation can fail if the key is not present in the cache, or if 7 the value changes in the cache between the two calls. < So watch out! Even if the value exists the operation might 2 not go through in the face of concurrent access. ATesting indicates that if we fail because we could not gaurantee $ atomicity the failure code will be (. k*Increment a value in the cache. The first  argument is the D amount by which to increment and the second is the intial value to + use if the key does not yet have a value. 5 The return value is the updated value in the cache. l*Decrement a value in the cache. The first  argument is the D amount by which to decrement and the second is the intial value to + use if the key does not yet have a value. 5 The return value is the updated value in the cache. m Delete all entries in the cache n<Returns a list of stats about the server in key,value pairs  Returns a single stat. Example: ' stat con pid' will return  the o;List allowed SASL mechanisms. The server must support SASL  authentication. pJSASL authenitcation. Multi-step authentication is supported by un-folding % the passed-in AuthCallback. Returns  if authentication is supported N and complete. If the supplied callback completes while there are still steps ) remaining we throw FurtherAuthRequired. q"Returns the version of the server $ !"#$%&'()*@ABC[\`abcdefghijklmnopq$\`[CBcd*)('&%$#"! ehifgjklmnqopA@ababbcddefghijklmnopq      !"#$%&'()*+,-./01123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcddeeHIJKNfLMPgVhRi2j>klm=nopqrstuvwxyz{|}~starling-0.3.0Network.Starling.CoreNetwork.Starling.ConnectionNetwork.StarlingOpCodeStepAuth StartAuthListAuthMechanismsPrependQAppendQFlushQQuitQ DecrementQ IncrementQDeleteQReplaceQAddQSetQStatPrependAppendGetKQGetKVersionNoOpGetQFlushQuit Decrement IncrementDeleteReplaceAddSetGetResponseStatus OutOfMemoryUnknownCommandFurtherAuthRequired AuthRequiredIncrDecrOnNonNumeric ItemNotStoredInvalidArguments ValueTooLarge KeyExists KeyNotFoundNoErrorDataTypeRawDataStarlingReadErrorResponseResrsMagicrsOp rsDataTypersStatusrsOpaquersCasrsExtrasrsKeyrsBodyCASRequest Deserialize deserialize Serialize serializeAuthData AuthMechanismValueKeyOpaquesetaddreplaceget increment decrementdeletequitflushnoopversionappendprependstatlistAuthMechanisms startAuthstepAuth addOpaqueaddCAS requestOpnullCAS getResponse ConnectionopenignorantRequest synchRequestsynchRequestMulticlose AuthCallback StarlingErrorupdatestatsauthRsMagicRqMagicResponseHeaderResHeadrsHeadTotalLenReqrqMagicrqOp rqDataTyperqOpaquerqCasrqExtrasrqKeyrqBody ErrorInfo setExtras incExtras baseRequestrequest CompareResultDoneMatchKeepRKeepQQItem QHandleMulti QHandleRespQDoneConncon_lockcon_hcon_q con_opaquereadLoop tryNextQItem compareOpaqueprocessResponse takeResponses withConLock withMVar_ putRequest nextOpaqueenqueuebaseGHC.WordWord64 simpleRequestoneStatghc-primGHC.BoolTrue