h&<6i      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                parser support Toshio Ito  Safe-Inferred4%Common data types for Request objects Toshio Ito  Safe-Inferred"greskell-websocketA raw ' encoded to/decoded from a base64 text. instance encodes the raw  to a base64-encoded .  is its inverse.greskell-websocketPossible SASL mechanisms.greskell-websocket "PLAIN" SASLgreskell-websocket "GSSAPI" SASLgreskell-websocketClass of operation objects.greskell-websocket"processor" field.greskell-websocket "op" field. greskell-websocket "args" field.   Request to Gremlin Server Toshio Ito  Safe-Inferred%;Ggreskell-websocket)RequestMessage to a Gremlin Server. See  6http://tinkerpop.apache.org/docs/current/dev/provider/.greskell-websocket Convert an  object to .greskell-websocket Create a  from an  object. The < is generated by the random number generator of the system.    )Operation objects for session OpProcessor Toshio Ito  Safe-Inferred"%;$%(&')*+./0,-12345678456783)*+./0,-12$%(&'*Operation objects for standard OpProcessor Toshio Ito  Safe-Inferred"%; x MNORSTPQUVWXY UVWXYMNORSTPQResponse from Gremlin Server Toshio Ito  Safe-Inferred"; ggreskell-websocket1ResponseMessage object from Gremlin Server. See  6http://tinkerpop.apache.org/docs/current/dev/provider/.Type s" is the type of the response data.lgreskell-websocket"result" field.ngreskell-websocket "data" field.pgreskell-websocket"status" field.ugreskell-websocketResponse status codegreskell-websocketReturns  if the u is a terminating code.greskell-websocketReturns  if the u is a success.greskell-websocketReturns  if the u is a client-side failure.greskell-websocketReturns  if the u is a server-side failure. ghijklmnopqsrtuv{wxyz|}~ ghijkpqsrtlmnouv{wxyz|}~#Encoder/decoder of Request/Response Toshio Ito  Safe-Inferredgreskell-websocket Encoder of  and decoder of g, associated with a MIME type.Type s is the body of Response.greskell-websocketMIME type sent to the servergreskell-websocketRequest encodergreskell-websocketResponse decodergreskell-websocketMake a request message header.greskell-websocket Encode a  into a "binary" format of Gremlin Server. The result includes the message "header" and the "payload".greskell-websocketDecode a message in the "binary" format. This is mainly for testing purposes.greskell-websocket MIME typegreskell-websocket(mimeType, payload) common types for Connection Toshio Ito  Safe-Inferred8greskell-websocketException general to a ). It's not related to specific requests.greskell-websocketServer sends a g: with unknown requestId, which is kept in this exception.greskell-websocketThe  fails to parse a data from the server. The error message is kept in this exception.greskell-websocket+A WebSocket connection to a Gremlin Server.Type s is the body of Response, as in g.greskell-websocket!Request queue to WS (Mux) thread.greskell-websocketWS (Mux) thread. It keeps the underlying WebSocket connection, watches various types of events and responds to those events.greskell-websocket State of the .greskell-websocket$Connection is open and ready to use.greskell-websocketConnection is closing. It rejects new requests, but keeps receiving responses for pending requests. When there is no pending requests, it goes to .greskell-websocketConnection is closed. It rejects requests, and it doesn't expect any responses. It can close the underlying WebSocket connection.greskell-websocketPackage of request data and related stuff. It's passed from the caller thread into WS handling thread.greskell-websocketEncoded request datagreskell-websocket request IDgreskell-websocket8the output queue for incoming response for this request.greskell-websocket+Package of Response data and related stuff.application/json codec Toshio Ito  Safe-Inferred"Zgreskell-websocket Simple "application/json" codec.The encoder uses GraphSON v1 format. The decoder supports all GraphSON v1, v2 and v3. Settings for making Connection Toshio Ito  Safe-Inferredgreskell-websocket) for making connection to Gremlin Server.You can get the default  by ; function, and customize its fields by accessor functions.Type s is the body of Response.greskell-websocketcodec for the connection.greskell-websocket3Path of the WebSocket endpoint. Default: "/gremlin"greskell-websocketAn exception handler for . This exception is not fatal, so the connection survives after this handler is called. You don't have to re-throw the exception. Default: print the exception to stderr.greskell-websocketTime out (in seconds) for responses. It is the maximum time for which the connection waits for a response to complete after it sends a request. If the response consists of more than one ResponseMessages, the timeout applies to the last of the ResponseMessages. Default: 60greskell-websocketMaximum concurrent requests the connection can make to the server. If the client tries to make more concurrent requests than this value, later requests are queued in the connection or the client may be blocked. Default: 4greskell-websocketSize of the internal queue of requests. Usually you don't need to customize the field. See also . Default: 8.greskell-websocket with .  Common utility Toshio Ito  Safe-Inferredo%internal implementation of Connection Toshio Ito  Safe-Inferred%1'greskell-websocketA handle associated in a 7 for a pair of request and response. You can retrieve gs from this object.Type s is the body of the response.greskell-websocketMultiplexed event objectgreskell-websocket(requestId of pending request) --> (objects related to that pending request)greskell-websocket"timer thread to time out response.greskell-websocket+An exception related to a specific request.greskell-websocket=The connection is already closed before it sends the request.greskell-websocketThe server closed the connection before it sends response for this request.greskell-websocketThe requestId (kept in this object) is already pending in the connection.greskell-websocket2The server fails to send ResponseMessages within .greskell-websocketTCP port number.greskell-websocketHost name or an IP address.greskell-websocketMake a  to a Gremlin Server.If it fails to connect to the specified server, it throws an exception.greskell-websocket Close the .%If there are pending requests in the , 3 function blocks for them to complete or time out.Calling  on a 4 already closed (or waiting to close) does nothing.greskell-websocket(A thread taking care of a WS connection.greskell-websocket/HashTable's mutateIO is available since 1.2.3.0greskell-websocketMultiplexer loop.greskell-websocketReceiver thread. It keeps receiving data from WS until the connection finishes cleanly. Basically every exception is raised to the caller.greskell-websocketMake a  from an  and send it.Usually this function does not throw any exception. Exceptions about sending requests are reported when you operate on .greskell-websocketLike , but you can pass a  directly to this function.greskell-websocketGet a g from 5. If you have already got all responses, it returns %. This function may block for a new g to come.:On error, it may throw all sorts of exceptions including .greskell-websocket version of .greskell-websocketGet all remaining gs from .greskell-websocket Similar to ,, but this function discards the responses.greskell-websocketaction to create the new entry.greskell-websocket if insertion is successful..&WebSocket Connection to Gremlin Server Toshio Ito  Safe-Inferred( Options to create a Client Toshio Ito  Safe-Inferred+greskell-websocket Safe-Inferred%4greskell-websocketException about " operation and getting its result.greskell-websocketThe server returns a g with error u.greskell-websocket3The client fails to parse the "data" field of the g#. The error message is kept in the  field.greskell-websocketA handle to receive the result of evaluation of a Gremlin script from the server.greskell-websocketA client that establishes a connection to the Gremlin Server. You can send Gremlin expression for evaluation by  function.greskell-websocket Create a ' to a Gremlin Server, with the default .greskell-websocket Create a  to a Gremlin Server.greskell-websocketClose the connection to the server and release other resources of the .greskell-websocketSubmit a Gremlin script to the server. You can get its results by . The result type v# is determined by the script type g.Usually this function does not throw any exception. Exceptions about sending requests are reported when you operate on .greskell-websocketSubmit a pair of Gremlin script and variable binding. It's just a simple wrapper around .greskell-websocketLess type-safe version of .greskell-websocketGet the next value from the *. If you have got all values, it returns 7. This function may block for a new response to come.:On error, it may throw all sorts of exceptions including  and . For example, if the submitted Gremlin script throws an exception,  throws  with u of ~.greskell-websocket version of .greskell-websocketGet all remaining results from .greskell-websocket Similar to , but this function discards the results. Useful to execute a script whose side-effect is the only thing you care.greskell-websocketGremlin scriptgreskell-websocketbindingsgreskell-websocketGremlin scriptgreskell-websocketbindings &High-level interface to Gremlin Server Toshio Ito  Safe-Inferred5N!(Client of Gremlin Server using WebSocket Toshio Ito  Safe-Inferred6#! !"#$%&'(()*+,-./012344567889:;<=>?@ABBCDEFGHIJKLMNOPQRSTUVWXY889:;<=>BBCDEFGHIJKSTUVWXYZZ[\]^^_`aabcdefghijklmnopqrstuvwxyz{|}~                                        1greskell-websocket-1.0.0.1-1A8FacPoCyBEzYzAmWA0b5)Network.Greskell.WebSocket.Request.Common"Network.Greskell.WebSocket.Request*Network.Greskell.WebSocket.Request.Session+Network.Greskell.WebSocket.Request.Standard#Network.Greskell.WebSocket.Response Network.Greskell.WebSocket.Codec%Network.Greskell.WebSocket.Connection%Network.Greskell.WebSocket.Codec.JSON.Network.Greskell.WebSocket.Connection.Settings)Network.Greskell.WebSocket.Client.Options!Network.Greskell.WebSocket.Client(Network.Greskell.WebSocket.Request.Aeson*Network.Greskell.WebSocket.Connection.TypeNetwork.Greskell.WebSocket.Util*Network.Greskell.WebSocket.Connection.Impl&Network.Greskell.WebSocket.Client.ImplNetwork.Greskell.WebSocketBase64unByte64 SASLMechanism SASLPlain SASLGSSAPI Operation opProcessoropNameopArgs$fOperationEither$fFromJSONSASLMechanism$fToJSONSASLMechanism$fFromJSONBase64$fToJSONBase64 $fEqBase64 $fOrdBase64 $fShowBase64$fBoundedSASLMechanism$fEnumSASLMechanism$fEqSASLMechanism$fOrdSASLMechanism$fShowSASLMechanismRequestMessage$sel:requestId:RequestMessage$sel:op:RequestMessage$sel:processor:RequestMessage$sel:args:RequestMessagetoRequestMessagemakeRequestMessage$fFromJSONRequestMessage$fToJSONRequestMessage$fEqRequestMessage$fGenericRequestMessage$fShowRequestMessageOpClose$sel:batchSize:OpClose$sel:session:OpClose$sel:force:OpCloseOpEval$sel:batchSize:OpEval$sel:gremlin:OpEval$sel:bindings:OpEval$sel:language:OpEval$sel:aliases:OpEval#$sel:scriptEvaluationTimeout:OpEval$sel:session:OpEval$sel:manageTransaction:OpEval SessionIDOpAuthentication$sel:batchSize:OpAuthentication$sel:sasl:OpAuthentication#$sel:saslMechanism:OpAuthentication$fOperationOpAuthentication$fFromJSONOpAuthentication$fToJSONOpAuthentication$fOperationOpEval$fFromJSONOpEval$fToJSONOpEval$fOperationOpClose$fFromJSONOpClose$fToJSONOpClose $fEqOpClose$fGenericOpClose $fOrdOpClose $fShowOpClose $fEqOpEval$fGenericOpEval $fShowOpEval$fEqOpAuthentication$fGenericOpAuthentication$fOrdOpAuthentication$fShowOpAuthenticationResponseMessage requestIdstatusresultResponseResult resultDatametaResponseStatuscodemessage attributes ResponseCodeSuccess NoContentPartialContent Unauthorized AuthenticateMalformedRequestInvalidRequestArguments ServerErrorScriptEvaluationError ServerTimeoutServerSerializationError codeToInt codeFromInt isTerminating isSuccessisClientSideErrorisServerSideError$fToJSONResponseCode$fFromGraphSONResponseCode$fFromJSONResponseCode$fFromGraphSONResponseStatus$fFromJSONResponseStatus$fFunctorResponseResult$fFromGraphSONResponseResult$fFromJSONResponseResult$fFunctorResponseMessage$fFromGraphSONResponseMessage$fFromJSONResponseMessage$fEqResponseMessage$fGenericResponseMessage$fShowResponseMessage$fEqResponseResult$fGenericResponseResult$fShowResponseResult$fEqResponseStatus$fGenericResponseStatus$fShowResponseStatus$fBoundedResponseCode$fEnumResponseCode$fEqResponseCode$fOrdResponseCode$fShowResponseCodeCodecmimeType encodeWith decodeWith messageHeaderencodeBinaryWith decodeBinary$fFunctorCodecGeneralExceptionUnexpectedRequestIdResponseParseFailure Connection jsonCodecSettingscodec endpointPathonGeneralExceptionresponseTimeout concurrencyrequestQueueSize defSettingsdefJSONSettingsResponseHandleRequestException AlreadyClosed ServerClosedDuplicateRequestIdResponseTimeoutPortHostconnectclose sendRequest sendRequest' nextResponsenextResponseSTMslurpResponsesdrainResponsesOptionsconnectionSettings batchSizelanguagealiasesscriptEvaluationTimeout defOptionsSubmitException ResponseError ParseError ResultHandleClient connectWithsubmit submitPair submitRaw nextResult nextResultSTM slurpResults drainResults#aeson-2.1.1.0-3oVJQ6k21EwIYMuCcSPLyData.Aeson.Types.ToJSONgenericToEncoding genericToJSONData.Aeson.Types.FromJSONgenericParseJSONopttoObjectbytestring-0.11.3.1Data.ByteString.Internal ByteStringToJSON text-1.2.5.0Data.Text.InternalTextFromJSONghc-prim GHC.TypesTrueconnQReq connWSThreadConnectionStateConnOpen ConnClosing ConnClosedReqPackreqDatareqId reqOutputResPack connState connCodecReqIDRawResRawReqslurpdrainMuxEventReqPool$sel:rpeTimer:ReqPoolEntry runWSConntryInsertToReqPool runMuxLoop runRxLoopbase GHC.MaybeNothing GHC.Conc.SyncSTM $sel:rhTerminated:ResponseHandle!$sel:rhGetResponse:ResponseHandleEvResponseTimeout EvRxError EvRxFinish EvActiveCloseEvResEvReq ReqPoolEntry$sel:rpeReqId:ReqPoolEntry$sel:rpeOutput:ReqPoolEntryPath flushTBQueuereportToReqPool reportToQReqcleanupReqPoolEntryremoveReqPoolEntrycleanupReqPoolgetAllResponseTimersrunTimerisTerminatingResponseGHC.BaseString$sel:rhState:ResultHandle#$sel:rhNextResultIndex:ResultHandle$sel:rhResultCache:ResultHandle$sel:rhParseGValue:ResultHandle$sel:rhResHandle:ResultHandle HandleState HandleError HandleClose HandleOpen$sel:clientConn:Client$sel:clientOpts:Client submitBasegetNextCachedResult loadResponse