2

私はネットワークコンジットとrunTCPServerを使用して、立ち往生したサーバーに電力を供給しています。

この場合:

-- | Helper which represents a conduit chain for each client connection
serverApp :: Application SessionIO
serverApp appdata = do
    -- blah blah blah initializer code
    appSource appdata $$ decoder =$= protocol =$= encoder =$ appSink appdata

...

-- | Handles an input stream of 'Packet' objects and dispatches them
protocol :: Conduit Packet SessionIO Packet
protocol = undefined

プロトコルはどのくらいの頻度で実行されますか? クライアントソケットで頻繁に何かをタイムリーに実行したい場合、そのロジックをプロトコルに入れても安全ですか、それともデータが実際に到達するたびに呼び出されるだけですか?

コンジット「コールバック」の仕組みを説明していただければ幸いです。:)

よろしく。

4

1 に答える 1

2

FP CompleteのConduit の概要では、Conduit のフロー制御について説明しています。具体的には、Conduit はデータが必要な場合にのみチェーンを上ります。したがって、時間ベースの副作用に依存している場合、呼び出されるコンジットに依存することは、その方法ではありません。

ただし、これは、ユース ケースとコンジット チェーンの構造に大きく依存します。これは、遅延Conduitをレート制限または類似のものに入れることができるためです。

于 2013-05-23T01:30:09.260 に答える