diff options
Diffstat (limited to 'src/Network/Tox/Crypto/Transport.hs')
-rw-r--r-- | src/Network/Tox/Crypto/Transport.hs | 5 |
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 | ||
438 | instance 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 |
438 | messageType :: (Functor f, HasMessageType x) => (MessageType -> f MessageType) -> (x -> f x) | 443 | messageType :: (Functor f, HasMessageType x) => (MessageType -> f MessageType) -> (x -> f x) |
439 | messageType = lens getMessageType setMessageType | 444 | messageType = lens getMessageType setMessageType |