diff options
author | joe <joe@jerkface.net> | 2017-07-03 18:46:14 -0400 |
---|---|---|
committer | joe <joe@jerkface.net> | 2017-07-03 18:46:14 -0400 |
commit | 81bcffd68c9997b8e4b5f8c2d4cb1e4db4c62153 (patch) | |
tree | 123f6236b1f4d4f70f2d0fc260e5d0b28159741c /src/Network/DatagramServer | |
parent | be15a1ceba3b87f845d3b56915207457a94394ee (diff) |
Moved node-id out of Query/Response. It can be either in the
envelope (Tox) or in the query/response payload (Mainline).
Diffstat (limited to 'src/Network/DatagramServer')
-rw-r--r-- | src/Network/DatagramServer/Mainline.hs | 11 | ||||
-rw-r--r-- | src/Network/DatagramServer/Tox.hs | 3 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/Network/DatagramServer/Mainline.hs b/src/Network/DatagramServer/Mainline.hs index 7cf96e44..89a275c1 100644 --- a/src/Network/DatagramServer/Mainline.hs +++ b/src/Network/DatagramServer/Mainline.hs | |||
@@ -279,10 +279,15 @@ instance Envelope KMessageOf where | |||
279 | newtype NodeId KMessageOf = NodeId Word160 | 279 | newtype NodeId KMessageOf = NodeId Word160 |
280 | deriving (Show, Eq, Ord, Typeable, Bits, FiniteBits) | 280 | deriving (Show, Eq, Ord, Typeable, Bits, FiniteBits) |
281 | 281 | ||
282 | newtype QueryExtra KMessageOf = IsReadOnlyQuery { queryIsReadOnly :: Bool } | 282 | data QueryExtra KMessageOf = MainlineQuery |
283 | { queringNodeId :: NodeId KMessageOf -- ^ node id of /quering/ node; | ||
284 | , queryIsReadOnly :: Bool -- ^ node is read-only as per BEP 43 | ||
285 | } | ||
283 | deriving (Show, Eq, Ord, Typeable) | 286 | deriving (Show, Eq, Ord, Typeable) |
284 | 287 | ||
285 | data ResponseExtra KMessageOf = MainlineResponseData | 288 | newtype ResponseExtra KMessageOf = MainlineResponse |
289 | { queredNodeId :: NodeId KMessageOf -- ^ node id of /quered/ node | ||
290 | } | ||
286 | deriving (Show, Eq, Ord, Typeable) | 291 | deriving (Show, Eq, Ord, Typeable) |
287 | 292 | ||
288 | envelopePayload (Q q) = queryArgs q | 293 | envelopePayload (Q q) = queryArgs q |
@@ -304,7 +309,7 @@ instance Envelope KMessageOf where | |||
304 | 309 | ||
305 | uniqueTransactionId cnt = return $ TID $ Char8.pack (show cnt) | 310 | uniqueTransactionId cnt = return $ TID $ Char8.pack (show cnt) |
306 | 311 | ||
307 | fromRoutableNode (IsReadOnlyQuery b) = not b | 312 | fromRoutableNode = not . queryIsReadOnly |
308 | 313 | ||
309 | 314 | ||
310 | instance WireFormat BValue KMessageOf where | 315 | instance WireFormat BValue KMessageOf where |
diff --git a/src/Network/DatagramServer/Tox.hs b/src/Network/DatagramServer/Tox.hs index b323a4df..83701b6b 100644 --- a/src/Network/DatagramServer/Tox.hs +++ b/src/Network/DatagramServer/Tox.hs | |||
@@ -260,6 +260,9 @@ instance Envelope Message where | |||
260 | 260 | ||
261 | type QueryMethod Message = MessageType | 261 | type QueryMethod Message = MessageType |
262 | 262 | ||
263 | newtype QueryExtra Message = QueryNonce { qryNonce :: Nonce8 } | ||
264 | newtype ResponseExtra Message = ResponseNonce { rspNonce :: Nonce8 } | ||
265 | |||
263 | envelopePayload = msgPayload | 266 | envelopePayload = msgPayload |
264 | 267 | ||
265 | envelopeTransaction = msgNonce | 268 | envelopeTransaction = msgNonce |