Handle intermittent failures
This commit is contained in:
parent
2690449fa9
commit
3c3d078c4d
|
@ -33,12 +33,16 @@ defmodule Chronoscope.NTS.KeyEstablishmentClient do
|
|||
end
|
||||
|
||||
defp perform_key_establishment(socket) do
|
||||
:ok = @ssl.send(socket, KeyEstablishmentRequest.create())
|
||||
{:ok, peercert} = @ssl.peercert(socket)
|
||||
|
||||
peercert
|
||||
|> await_response()
|
||||
|> tap(fn _ -> @ssl.close(socket) end)
|
||||
with :ok <- @ssl.send(socket, KeyEstablishmentRequest.create()),
|
||||
{:ok, peercert} <- @ssl.peercert(socket) do
|
||||
peercert
|
||||
|> await_response()
|
||||
|> tap(fn _ -> @ssl.close(socket) end)
|
||||
else
|
||||
e ->
|
||||
@ssl.close(socket)
|
||||
{:error, e}
|
||||
end
|
||||
end
|
||||
|
||||
defp await_response(peercert) do
|
||||
|
|
Loading…
Reference in New Issue