7]0^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]g  !"#$%&'^_`a()bcd*+,-./012345e6fghijklmn789:o;<=>Set a value in the cache. ?Add a value to cache. Fails if  already present. @$Replaces a value in cahce. Fails if  not present. pAGet a value from cache Bamount initial value Camount initial value qDDelete a cache entry EQuit FFlush the cache G3Keepalive. Flushes responses for quiet operations. HReturns the server version I,Appends the value to the value in the cache J-Prepends the value to the value in the cache K5Fetch statistics about the cahce. Returns a sequence  of responses. L#Add an opaque marker to a request. 1 This is returned unchanged in the corresponding  response. M%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. r0A starter request with fields set to reasonable / defaults. The opcode field is left undefined. N/Returns the operation the request will perform sExtras Key Body OP Pulls a reponse to an operation  off of a handle.  May throw a )( Q  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPS6N<;>?@ABCIJDEFGHKLM*+,-./01234P()()9:78= &'5O%$#"! Q   %$#"!  !"#$%&''())* +,-./01234+,-./01234567889::;<=>?@ABCDEFGHIJKLMNOPtuvwxy+The connection keeps a queue of callbacks. ! These are entries on that queue z{|Q,For thread safety of operations, we perform , all requests on a wrapper around a handle. }~RCreate 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 w 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. S0This function ignores anything coming back from  the server.  Non-blocking. T/Place a synchronous request which only returns  one reply U-Place a synchronous request which may return  multiple response ( , pretty much) VShut down the connection.  Non-blocking. Put a request onto the handle Grab the next sequence number "Add an item on the callback queue QRSTUVQRVTUSQRSTUV#Antoine Latter <aslatter@gmail.com> WXSet a value in the cache YRetrive a value from the cache ZDelete an entry in the cache [ Delete all entries in the cache \<Returns a list of stats about the server in key,value pairs  Returns a single stat. Example: ' stat con pid' will return  the ]"Returns the version of the server  !"#$%;<QRVWXYZ[\]RVQ<;W%$#"! XYZ[\]WXYZ[\]      !"#$%&'()*+,,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZADGI[K\-]9^_`8abcdefghijklmnopqrstuvwxyz{|}~starling-0.0.2Network.Starling.CoreNetwork.Starling.ConnectionNetwork.StarlingOpCodePrependQAppendQFlushQQuitQ DecrementQ IncrementQDeleteQReplaceQAddQSetQStatPrependAppendGetKQGetKVersionNoOpGetQFlushQuit Decrement IncrementDeleteReplaceAddSetGetResponseStatus OutOfMemoryUnknownCommandIncrDecrOnNonNumeric ItemNotStoredInvalidArguments ValueTooLarge KeyExists KeyNotFoundNoErrorDataTypeRawDataStarlingReadErrorResponseResrsMagicrsOp rsDataTypersStatusrsOpaquersCasrsExtrasrsKeyrsBodyCASRequest Deserialize deserialize Serialize serializeValueKeyOpaquesetaddreplaceget increment decrementdeletequitflushnoopversionappendprependstat addOpaqueaddCAS requestOpnullCAS getResponse ConnectionopenignorantRequest synchRequestsynchRequestMulticloseResultstatsRsMagicRqMagicResponseHeaderResHeadrsHeadTotalLenReqrqMagicrqOp rqDataTyperqOpaquerqCasrqExtrasrqKeyrqBody ErrorInfo setExtras incExtras baseRequestrequest CompareResultDoneMatchKeepRKeepQQItem QHandleMulti QHandleRespQDoneConncon_lockcon_hcon_q con_opaquereadLoop tryNextQItem compareOpaqueprocessResponse takeResponses withConLock withMVar_ putRequest nextOpaqueenqueue simpleRequestoneStat