packagebitswapimport("errors""time"blocks"github.com/jbenet/go-ipfs/blocks"exchange"github.com/jbenet/go-ipfs/exchange"u"github.com/jbenet/go-ipfs/util")funcNewOfflineExchange()exchange.Exchange{return&offlineExchange{}}// offlineExchange implements the Exchange interface but doesn't return blocks.// For use in offline mode.typeofflineExchangestruct{}// Block returns nil to signal that a block could not be retrieved for the// given key.// NB: This function may return before the timeout expires.func(_*offlineExchange)Block(ku.Key,timeouttime.Duration)(*blocks.Block,error){returnnil,errors.New("Block unavailable. Operating in offline mode")}// HasBlock always returns nil.func(_*offlineExchange)HasBlock(blocks.Block)error{returnnil}