channable/icepeak

Add retries to the Icepeak client

rkrzr opened this issue · 0 comments

rkrzr commented

The icepeak client does currently not support retrying. We worked around that in JM by adding retries ourselves, but it would be nicer and more logical if the client could do that itself.

This could be implemented by adding a RetryPolicy field to the client's config. This could be an optional field, which just defaults to no retries, when not specified by the user.

The new Config type could for example look like this:

import Conrol.Retry (RetryPolicy)

data Config = Config
  }
  { configHost  :: ByteString
  , configPort  :: Word16
  , configToken :: Maybe ByteString
  , configRetryPolicy :: Maybe RetryPolicy  -- new field
  } deriving (Eq, Show)