code: func (fs *FileStore) AddClient(info *spb.ClientInfo) (*Client, error) {
  	fs.Lock()
  	if _, err := fs.fm.lockFile(fs.clientsFile); err != nil {
  		fs.Unlock()
  		return nil, err
  	}
  	_, size, err := writeRecord(fs.clientsFile.handle, nil, addClient, info, info.Size(), fs.crcTable)
  	if err != nil {
  		fs.fm.unlockFile(fs.clientsFile)
  		fs.Unlock()
  		return nil, err
  	}
  	fs.cliFileSize += int64(size)
  	fs.fm.unlockFile(fs.clientsFile)
  	client := &Client{*info}
  	fs.clients[client.ID] = client
  	fs.Unlock()
  	return client, nil
  }
docs: // AddClient implements the Store interface