code: func New(ln Listener, c *StoreConfig) *Store {
  	logger := c.Logger
  	if logger == nil {
  		logger = log.New(os.Stderr, "[store] ", log.LstdFlags)
  	}
  
  	return &Store{
  		ln:             ln,
  		raftDir:        c.Dir,
  		raftID:         c.ID,
  		dbConf:         c.DBConf,
  		dbPath:         filepath.Join(c.Dir, sqliteFile),
  		randSrc:        rand.New(rand.NewSource(time.Now().UnixNano())),
  		conns:          make(map[uint64]*Connection),
  		done:           make(chan struct{}, 1),
  		meta:           make(map[string]map[string]string),
  		logger:         logger,
  		ApplyTimeout:   applyTimeout,
  		connPollPeriod: connectionPollPeriod,
  	}
  }
docs: // New returns a new Store.