Safe Haskell | Safe-Infered |
---|
Implementation of the Ganeti Confd client functionality.
- getConfdClient :: Maybe String -> Maybe Int -> IO ConfdClient
- query :: ConfdClient -> ConfdRequestType -> ConfdQuery -> IO (Maybe ConfdReply)
- updateConfdReply :: ConfdReply -> Maybe ConfdReply -> Maybe ConfdReply
- queryOneServer :: MVar () -> MVar (Maybe ConfdReply) -> ConfdRequestType -> ConfdQuery -> HashKey -> (String, PortNumber) -> IO ()
Documentation
getConfdClient :: Maybe String -> Maybe Int -> IO ConfdClientSource
Builds a properly initialized ConfdClient. The parameters (an IP address and the port number for the Confd client to connect to) are mainly meant for testing purposes. If they are not provided, the list of master candidates and the default port number will be used.
query :: ConfdClient -> ConfdRequestType -> ConfdQuery -> IO (Maybe ConfdReply)Source
Sends a query to all the Confd servers the client is connected to. Returns the most up-to-date result according to the serial number, chosen between those received before the timeout.
updateConfdReply :: ConfdReply -> Maybe ConfdReply -> Maybe ConfdReplySource
queryOneServer :: MVar () -> MVar (Maybe ConfdReply) -> ConfdRequestType -> ConfdQuery -> HashKey -> (String, PortNumber) -> IO ()Source