2015-12-02 26 views
3

加密+泵的自定義數據源具有StringSource,ArraySource,FileSource等能夠從ByteQueue

但是我需要使用源類可以從ByteQueue用於將來通過濾和水槽獲取數據。

即:

_QUEUE_Source(MyPreparedQueue, true, 
    new HashFilter(hash, 
     new FileSink(zOutputFile), 
     true)); 

我如何能做到這一點,W/O發送到MyPreparedQueue的ArraySource額外的中間存儲緩衝器和選擇的?

回答

0

我需要使用源類可以從ByteQueue爲未來通過濾和水槽獲取數據...

Source classes可以提取數據並將其泵送至過濾器。您的_QUEUE_Source應來自Source。 A Source只是一個BufferedTransformation附件接口。

MyPreparedQueue可以從ByteQueue繼承。如果你看繼承圖,ByteQueue繼承自BufferedTransformation。或者,MyPreparedQueue可以繼承FilterBufferedTransformation

一旦你的工作,這兩個聲明的缺失功能:

QueueSource : public Source { ... } 
PreparedQueue : public Filter { ... } 

對於過濾器,你只需要實現Put2


Crypto ++ wiki有一些關於過濾器的簡介。見FiltersFilter (Intermediate)