code: func (engine *PullEngine) OnHello(nonce uint64, context interface{}) {
  	engine.incomingNONCES.Add(nonce)
  
  	time.AfterFunc(engine.requestWaitTime, func() {
  		engine.incomingNONCES.Remove(nonce)
  	})
  
  	a := engine.state.ToArray()
  	var digest []string
  	filter := engine.digFilter(context)
  	for _, item := range a {
  		dig := item.(string)
  		if !filter(dig) {
  			continue
  		}
  		digest = append(digest, dig)
  	}
  	if len(digest) == 0 {
  		return
  	}
  	engine.SendDigest(digest, nonce, context)
  }
docs: // OnHello notifies the engine a hello has arrived