One question - and sorry that I didn't get a chance to try some examples myself - but can bi-directional conversations be carried between server/client in interleaving fashion using your library? Something like (simplified):
myClient = receive >>= send . compute I have previously accomplished this using TBMChan and cereal-conduit to achieve the message delineation, but your library would certainly remove a layer of complexity if interleaved bi-directional talk is possible. - Ozgun On Monday, February 25, 2013 at 8:09 AM, Nils wrote: > Of course you don't have to use my library if your library already > solves the same problem. > > Am 25.02.2013 13:10, schrieb Alexander V Vershilov: > > data Result = Error Text ByteString | NeedMore (ByteString -> Result a) > > | HaveResult a > > > > > I still see an issue with this if you're receiving multiple messages in > one `ByteString` chunk. A type like `HaveResult a ByteString` which also > returns the leftover `ByteString` after the first result has been found > could solve this, but you'd still have to re-yield this bytestring by > hand and you'll possible end up with more calls to "decode" than necessary. > > Of course, with json you could avoid this problem by wrapping all > messages into a json-list and sending this list as one big message. But > that way you lose almost all advantages of a conduit - you cannot map > over those list iems, you cannot process each item one by one, you > cannot fold or filter them. When using this approach I don't really see > the advantage over using the plain old "connectTo/hGetContents" method? > > Anyway, my library is independent of the "bytestring encoding" you want > to use with it. I think it's the most general solution and avoids having > to re-implement the same solution for each and every "protocol design" > over and over again. > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org (mailto:Haskell-Cafe@haskell.org) > http://www.haskell.org/mailman/listinfo/haskell-cafe > >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe