summaryrefslogtreecommitdiff
path: root/src/Network/Tox/Crypto/Transport.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Network/Tox/Crypto/Transport.hs')
-rw-r--r--src/Network/Tox/Crypto/Transport.hs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/Network/Tox/Crypto/Transport.hs b/src/Network/Tox/Crypto/Transport.hs
index 7bc6e67f..8739c853 100644
--- a/src/Network/Tox/Crypto/Transport.hs
+++ b/src/Network/Tox/Crypto/Transport.hs
@@ -1,4 +1,5 @@
1{-# LANGUAGE KindSignatures #-} 1{-# LANGUAGE KindSignatures #-}
2{-# LANGUAGE NamedFieldPuns #-}
2{-# LANGUAGE ViewPatterns #-} 3{-# LANGUAGE ViewPatterns #-}
3{-# LANGUAGE FlexibleInstances #-} 4{-# LANGUAGE FlexibleInstances #-}
4{-# LANGUAGE LambdaCase #-} 5{-# LANGUAGE LambdaCase #-}
@@ -434,6 +435,10 @@ instance HasMessageType CryptoMessage where
434 setMessageType (TwoByte mid0 x) (Msg mid) = UpToN mid (B.singleton x) 435 setMessageType (TwoByte mid0 x) (Msg mid) = UpToN mid (B.singleton x)
435 setMessageType (UpToN mid0 x) (Msg mid) = UpToN mid x 436 setMessageType (UpToN mid0 x) (Msg mid) = UpToN mid x
436 437
438instance HasMessageType CryptoData where
439 getMessageType (CryptoData { bufferData }) = getMessageType bufferData
440 setMessageType cd@(CryptoData { bufferData=bd }) typ = cd { bufferData=setMessageType bd typ }
441
437-- | This lens should always succeed on CryptoMessage 442-- | This lens should always succeed on CryptoMessage
438messageType :: (Functor f, HasMessageType x) => (MessageType -> f MessageType) -> (x -> f x) 443messageType :: (Functor f, HasMessageType x) => (MessageType -> f MessageType) -> (x -> f x)
439messageType = lens getMessageType setMessageType 444messageType = lens getMessageType setMessageType