|
|
@ -42,6 +42,9 @@ func handleGetBlockHeaders(backend Backend, msg Decoder, peer *Peer) error { |
|
|
|
// ServiceGetBlockHeadersQuery assembles the response to a header query. It is
|
|
|
|
// ServiceGetBlockHeadersQuery assembles the response to a header query. It is
|
|
|
|
// exposed to allow external packages to test protocol behavior.
|
|
|
|
// exposed to allow external packages to test protocol behavior.
|
|
|
|
func ServiceGetBlockHeadersQuery(chain *core.BlockChain, query *GetBlockHeadersRequest, peer *Peer) []rlp.RawValue { |
|
|
|
func ServiceGetBlockHeadersQuery(chain *core.BlockChain, query *GetBlockHeadersRequest, peer *Peer) []rlp.RawValue { |
|
|
|
|
|
|
|
if query.Amount == 0 { |
|
|
|
|
|
|
|
return nil |
|
|
|
|
|
|
|
} |
|
|
|
if query.Skip == 0 { |
|
|
|
if query.Skip == 0 { |
|
|
|
// The fast path: when the request is for a contiguous segment of headers.
|
|
|
|
// The fast path: when the request is for a contiguous segment of headers.
|
|
|
|
return serviceContiguousBlockHeaderQuery(chain, query) |
|
|
|
return serviceContiguousBlockHeaderQuery(chain, query) |
|
|
|