code: func (f *freeClientPool) saveToDb() {
  	now := f.clock.Now()
  	storage := freeClientPoolStorage{
  		LogOffset: uint64(f.logOffset(now)),
  		List:      make([]*freeClientPoolEntry, len(f.addressMap)),
  	}
  	i := 0
  	for _, e := range f.addressMap {
  		if e.connected {
  			f.calcLogUsage(e, now)
  		}
  		storage.List[i] = e
  		i++
  	}
  	enc, err := rlp.EncodeToBytes(storage)
  	if err != nil {
  		log.Error("Failed to encode client list", "err", err)
  	} else {
  		f.db.Put([]byte("freeClientPool"), enc)
  	}
  }
docs: // saveToDb saves pool status to the database storage
  // (automatically called during shutdown)