@@ -271,6 +271,9 @@ matchIf c p = Match $ \msg ->
271 True | c decoded -> Just (p decoded)
271 True | c decoded -> Just (p decoded)
273 decoded :: a
273 decoded :: a
274+ -- Make sure the value is fully decoded so that we don't hang to
275+ -- bytestrings when the process calling 'matchIf' doesn't process
276+ -- the values immediately
274 !decoded = decode (messageEncoding msg)
277 !decoded = decode (messageEncoding msg)
275 _ -> Nothing
278 _ -> Nothing