func closeClientInternal(client Client, force bool) error { if client == nil { return utils.ErrNilArgument } name := client.GetName() log.Infof("Closing client [%s]...", name) entry, ok := clients[name] if !ok { return utils.ErrInvalidReference } if entry.counter == 1 || force { defer delete(clients, name) err := clients[name].client.(*clientImpl).close() log.Debugf("Closing client [%s]...cleanup! [%s].", name, utils.ErrToString(err)) return err } // decrease counter entry.counter-- clients[name] = entry log.Debugf("Closing client [%s]...decreased counter at [%d].", name, clients[name].counter) return nil }
func closeValidatorInternal(peer Peer, force bool) error { if peer == nil { return utils.ErrNilArgument } name := peer.GetName() log.Infof("Closing validator [%s]...", name) entry, ok := validators[name] if !ok { return utils.ErrInvalidReference } if entry.counter == 1 || force { defer delete(validators, name) err := validators[name].validator.(*validatorImpl).close() log.Infof("Closing validator [%s]...done! [%s].", name, utils.ErrToString(err)) return err } // decrease counter entry.counter-- validators[name] = entry log.Infof("Closing validator [%s]...decreased counter at [%d].", name, validators[name].counter) return nil }
func (ks *keyStore) createKeyStoreIfNotExists() error { // Check keystore directory ksPath := ks.node.conf.getKeyStorePath() missing, err := utils.DirMissingOrEmpty(ksPath) ks.node.Debugf("Keystore path [%s] missing [%t]: [%s]", ksPath, missing, utils.ErrToString(err)) if !missing { // Check keystore file missing, err = utils.FileMissing(ks.node.conf.getKeyStorePath(), ks.node.conf.getKeyStoreFilename()) ks.node.Errorf("Keystore [%s] missing [%t]:[%s]", ks.node.conf.getKeyStoreFilePath(), missing, utils.ErrToString(err)) } if missing { err := ks.createKeyStore() if err != nil { ks.node.Errorf("Failed creating db At [%s]: [%s]", ks.node.conf.getKeyStoreFilePath(), err.Error()) return nil } } return nil }