Skip to content

Commit

Permalink
handshake: added accept version function to HandshakeArguments
Browse files Browse the repository at this point in the history
  • Loading branch information
coot committed Jan 27, 2021
1 parent b5099f7 commit e557e1e
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 13 deletions.
Expand Up @@ -94,7 +94,11 @@ data HandshakeArguments connectionId vNumber vData m application = HandshakeArgu
:: VersionDataCodec CBOR.Term vNumber vData,

-- | versioned application aggreed upon with the 'Handshake' protocol.
haVersions :: Versions vNumber vData application
haVersions :: Versions vNumber vData application,

-- | accept version, first argument is our version data the second
-- argument is the remote version data.
haAcceptVersion :: vData -> vData -> Accept vData
}


Expand All @@ -111,18 +115,17 @@ runHandshakeClient
)
=> MuxBearer m
-> connectionId
-> (vData -> vData -> Accept vData)
-> HandshakeArguments connectionId vNumber vData m application
-> m (Either (HandshakeException (HandshakeClientProtocolError vNumber))
(application, vNumber, vData))
runHandshakeClient bearer
connectionId
acceptVersion
HandshakeArguments {
haHandshakeTracer,
haHandshakeCodec,
haVersionDataCodec,
haVersions
haVersions,
haAcceptVersion
} =
tryHandshake
(fst <$>
Expand All @@ -132,7 +135,7 @@ runHandshakeClient bearer
byteLimitsHandshake
timeLimitsHandshake
(fromChannel (muxBearerAsChannel bearer handshakeProtocolNum InitiatorDir))
(handshakeClientPeer haVersionDataCodec acceptVersion haVersions))
(handshakeClientPeer haVersionDataCodec haAcceptVersion haVersions))


-- | Run server side of the 'Handshake' protocol.
Expand All @@ -148,19 +151,18 @@ runHandshakeServer
)
=> MuxBearer m
-> connectionId
-> (vData -> vData -> Accept vData)
-> HandshakeArguments connectionId vNumber vData m application
-> m (Either
(HandshakeException (RefuseReason vNumber))
(application, vNumber, vData))
runHandshakeServer bearer
connectionId
acceptVersion
HandshakeArguments {
haHandshakeTracer,
haHandshakeCodec,
haVersionDataCodec,
haVersions
haVersions,
haAcceptVersion
} =
tryHandshake
(fst <$>
Expand All @@ -170,4 +172,4 @@ runHandshakeServer bearer
byteLimitsHandshake
timeLimitsHandshake
(fromChannel (muxBearerAsChannel bearer handshakeProtocolNum ResponderDir))
(handshakeServerPeer haVersionDataCodec acceptVersion haVersions))
(handshakeServerPeer haVersionDataCodec haAcceptVersion haVersions))
8 changes: 4 additions & 4 deletions ouroboros-network-framework/src/Ouroboros/Network/Socket.hs
Expand Up @@ -248,13 +248,13 @@ connectToNode' sn handshakeCodec versionDataCodec NetworkConnectTracers {nctMuxT
runHandshakeClient
(Snocket.toBearer sn sduHandshakeTimeout muxTracer sd)
connectionId
acceptVersion
-- TODO: push 'HandshakeArguments' up the call stack.
HandshakeArguments {
haHandshakeTracer = nctHandshakeTracer,
haHandshakeCodec = handshakeCodec,
haVersionDataCodec = versionDataCodec,
haVersions = versions
haVersions = versions,
haAcceptVersion = acceptVersion
}
ts_end <- getMonotonicTime
case app_e of
Expand Down Expand Up @@ -368,12 +368,12 @@ beginConnection sn muxTracer handshakeTracer handshakeCodec versionDataCodec acc
runHandshakeServer
(Snocket.toBearer sn sduHandshakeTimeout muxTracer' sd)
connectionId
acceptVersion
HandshakeArguments {
haHandshakeTracer = handshakeTracer,
haHandshakeCodec = handshakeCodec,
haVersionDataCodec = versionDataCodec,
haVersions = versions
haVersions = versions,
haAcceptVersion = acceptVersion
}

case app_e of
Expand Down

0 comments on commit e557e1e

Please sign in to comment.