// push to offerC instead if offerC is available (see number 2 in https://golang.org/ref/spec#Select_statements)
// push to offerC instead if offerC is available (see number 2 in https://golang.org/ref/spec#Select_statements)
select{
select{
casef.offerC<-source:
casef.offerC<-source:
case<-ctx.Done():
case<-f.ctx.Done():
}
}
}
}
// Request is called when an upstream peer request the chunk as part of `RetrieveRequestMsg`, or from a local request through FileStore, and the node does not have the chunk locally.
// Request is called when an upstream peer request the chunk as part of `RetrieveRequestMsg`, or from a local request through FileStore, and the node does not have the chunk locally.