Tag: STM TMS

一个处理pipe道,2个相同types的IO源

在我的GHC Haskell应用程序利用stm,networkingpipe道和pipe道,我有一个分支为每个套接字使用runTCPServer自动分叉。 股可以通过使用广播TChan与其他股沟通。 这展示了我想如何build立pipe道“链”: 所以,我们这里有两个源(每个绑定到helper的pipe道),它产生一个Packet对象, encoder将接受并转换成ByteString ,然后发送出套接字。 对于两种投入的有效融合(性能是一个问题)我有很大的困难。 如果有人能指出我正确的方向,我将不胜感激。 既然发这个问题而不作出任何尝试是不礼貌的,我会把我以前在这里试过的东西放进去; 我写/select了一个函数(阻塞)从TMChan(可closures的通道)产生一个源。 — | Takes a generic type of STM chan and, given read and close functionality, — returns a conduit 'Source' which consumes the elements of the channel. chanSource :: (MonadIO m, MonadSTM m) => a — ^ The channel -> (a -> STM (Maybe […]