func (a *AddrBook) saveRoutine() {
	dumpAddressTicker := time.NewTicker(dumpAddressInterval)
out:
	for {
		select {
		case <-dumpAddressTicker.C:
			a.saveToFile(a.filePath)
		case <-a.Quit:
			break out
		}
	}
	dumpAddressTicker.Stop()
	a.saveToFile(a.filePath)
	a.wg.Done()
	log.Notice("Address handler done")
}
func (a *AddrBook) saveRoutine() {
	dumpAddressTicker := time.NewTicker(dumpAddressInterval)
out:
	for {
		select {
		case <-dumpAddressTicker.C:
			a.saveToFile(a.filePath)
		case <-a.Quit:
			break out
		}
	}
	dumpAddressTicker.Stop()
	a.saveToFile(a.filePath)
	a.wg.Done()
	log.Notice("Address handler done")
}
func ( a * AddrBook ) saveRoutine ( ) { dumpAddressTicker := time . NewTicker ( dumpAddressInterval ) out : for { select { case <- dumpAddressTicker . C : a . saveToFile ( a . filePath ) case <- a . Quit : break out } } dumpAddressTicker . Stop ( ) a . saveToFile ( a . filePath ) a . wg . Done ( ) log . Notice ( " " ) }
/* Private methods */
/ * Private methods