úÎ,Œ)k     NoneNone      Safe     None,Creates a connection with the message queue.Example: A connection <- Freddy.connect "127.0.0.1" "/" "guest" "guest" -Closes the connection with the message queue.Example: a connection <- Freddy.connect "127.0.0.1" "/" "guest" "guest" Freddy.disconnect connection +Sends a message and waits for the response.Example: ÿ import qualified Network.Freddy as Freddy import qualified Network.Freddy.Request as R connection <- Freddy.connect "127.0.0.1" "/" "guest" "guest" response <- Freddy.deliverWithResponse connection R.newReq { R.queueName = "echo", R.body = "{\"msg\": \"what did you say?\"}" } case response of Right payload -> putStrLn "Received positive result" Left (Freddy.InvalidRequest payload) -> putStrLn "Received error" Left Freddy.TimeoutError -> putStrLn "Request timed out" ®Send and forget type of delivery. It sends a message to given destination without waiting for a response. This is useful when there are multiple consumers that are using . or you just do not care about the response.Example: ÿ import qualified Network.Freddy as Freddy import qualified Network.Freddy.Request as R connection <- Freddy.connect "127.0.0.1" "/" "guest" "guest" Freddy.deliver connection R.newReq { R.queueName = "notifications.user_signed_in", R.body = "{\"user_id\": 1}" } ‡Responds to messages on a given destination. It is useful for messages that have to be processed once and then a result must be sent.Example: Ä processMessage (Freddy.Delivery body replyWith failWith) = replyWith body connection <- Freddy.connect "127.0.0.1" "/" "guest" "guest" Freddy.respondTo connection "echo" processMessage UListens for messages on a given destination or destinations without consuming them.Example: § processMessage body = putStrLn body connection <- Freddy.connect "127.0.0.1" "/" "guest" "guest" Freddy.tapInto connection "notifications.*" processMessage /Stops the consumer from listening new messages.Example: Æ connection <- Freddy.connect "127.0.0.1" "/" "guest" "guest" consumer <- Freddy.tapInto connection "notifications.*" processMessage threadDelay tenMinutes $ Freddy.cancelConsumer consumer + !"#$%&'()*+,-./01 server host virtual host user namepassword23456789:;< !"#$%&'()*+,-./0123456789:;<=      !"#$%&'())*+,-./0123456789:;<fredd_Glh3Hshxqi8GH6nYTJ5n1F%Network.Freddy.CorrelationIdGeneratorNetwork.Freddy.RequestNetwork.Freddy.ResultTypeNetwork.Freddy CorrelationIdgenerateCorrelationIdRequest queueNamebody timeoutInMsdeleteOnTimeouttimeoutInMicrosecondsexpirationInMsnewReq ResultTypeSuccessErrorserializeResultTypefromTextConsumer ConnectionDeliveryInvalidRequest TimeoutErrorconnect disconnectdeliverWithResponsedeliver respondTotapIntocancelConsumernewUUID$fDefaultRequest consumerTagconsumerChannelamqpConnectionamqpProduceChannelamqpResponseChannelresponseQueueName eventChannelReplyResponseResponseChannelListenerResponseChannelEmitterFailWith ReplyWith QueueNamePayloadcreateResponsereturnCallbackresponseCallback replyCallback sendReply buildReplymatchingCorrelationId topicExchangewaitForResponse declareQueuedeclareExlusiveQueue