API JavaScript HSM Dinamo
    Preparing search index...

    Function connectPooled

    • Obtém um handle com uma sessão emprestada do pool da chave de identidade (host, porta, identidade de autenticação, hash de conteúdo do material mTLS quando presente). Pool criado sob demanda, com warm-up eager do mínimo configurado.

      O handle tem a mesma forma pública que Hsm — não é um tipo novo. Representa 1 sessão emprestada pela vida inteira do handle. Sem concorrência interna a um handle; paralelismo vem de abrir vários handles.

      O handle é invalidado permanentemente no primeiro erro de chamada de negócio: a sessão por trás é descartada imediatamente (nunca devolvida ao pool) e chamadas subsequentes neste handle rejeitam com exceptions.SessionInvalidatedError (nunca tentam obter uma sessão nova silenciosamente). .disconnect() continua idempotente e seguro de chamar num handle já invalidado.

      Parameters

      • options: HsmOptions

        Opções de identidade/autenticação. Campos ausentes caem para HsmClientConfig como fallback.

      • OptionaltlsOptions: TlsOptions

        Opções de mTLS, se aplicável.

      • OptionalacquireTimeoutMs: number

        Override pontual de HSM_SESSION_POOL_QUEUE_TIMEOUT_MS para esta chamada específica.

      Returns Promise<Hsm>

      Uma reconexão interna também invalida o handle, exatamente como se uma chamada de negócio tivesse dado erro — mesmo que a operação em si tenha sido bem sucedida e devolvido o resultado correto. Hoje isso acontece em toda operação simétrica cujo payload passa de MAX_FAST_SYM_OP_SEG (1200 bytes): cryptography.encrypt/decrypt/cipher cai no modo streaming, que encerra a conexão e faz o HSM interno abrir outra por baixo — uma conexão que o pool não controla. Devolver a conexão original (já abandonada) ao pool envenenaria o próximo tomador, então o handle é encerrado ali mesmo e a sessão descartada. Na prática: trate operações simétricas grandes num handle pooled como potencialmente de uso único — a chamada seguinte neste handle rejeita com exceptions.SessionInvalidatedError; abra um handle novo. Para cargas simétricas grandes e repetidas, hsm.connect() (conexão dedicada) continua sendo o caminho adequado.

      exceptions.HsmOptionError - Host ausente/inválido, ou nenhum modo de autenticação resolvido (mesma validação de hsm.connect()).

      exceptions.SessionPoolQueueFullError - Fila do pool já no limite.

      exceptions.SessionPoolQueueTimeoutError - Esperou na fila além do timeout.

      exceptions.SessionPoolShutdownError - O pool desta identidade está em drenagem.