2012-10-04 68 views
1

我写了一个simple Wai-to-uwsgi proxy,但这样做,我不得不使用unwrapResumable。这给出了一个未包装的Pipe以及需要最终调用的“发布”函数。发布函数的类型是ResourceT IO(),我想我想用我当前的资源注册它,但要做到这一点,我需要的版本只是IO()。我应该如何使用释放功能?如何处理unwrapResumable中的“释放”?

回答

3

发布操作应该已经在您的ResourceT上注册。在适当的conduit代码中,有服用资源清理照顾两种不同的方式:

  • Pipe本身。这种清理将尽可能早地被调用,但不是特例安全。
  • ResourceT。这是异常安全的,但可能会延迟。

unwrapResumable提供的清理操作允许您回收“尽可能早”的方面。但是,如果您只是在ResourceT区块外呼叫清除,无论如何都不需要担心。