Scroll to navigation

BIO_SOCKET_WAIT(3SSL) OpenSSL BIO_SOCKET_WAIT(3SSL)

NUME

BIO_socket_wait, BIO_wait, BIO_do_connect_retry - funcții utilitare de conectare BIO

SINOPSIS

 #include <openssl/bio.h>
 #ifndef OPENSSL_NO_SOCK
 int BIO_socket_wait(int fd, int for_read, time_t max_time);
 #endif
 int BIO_wait(BIO *bio, time_t max_time, unsigned int nap_milliseconds);
 int BIO_do_connect_retry(BIO *bio, int timeout, int nap_milliseconds);

DESCRIERE

BIO_socket_wait() așteaptă pe soclul fd pentru citire dacă for_read nu este 0, altfel pentru scriere, cel mult până la max_time. Aceasta reușește imediat dacă max_time == 0 (ceea ce înseamnă că nu este dat niciun timp-limită).

BIO_wait() așteaptă cel mult până la max_time pe bio dat (de obicei bazat pe soclu), pentru citire dacă bio trebuie să citească, altfel pentru scriere. Este utilizată de BIO_do_connect_retry() și poate fi utilizată împreună cu BIO_read(3). Ea reușește imediat dacă max_time == 0 (ceea ce înseamnă că nu este dat niciun timp-limită). În cazul în care nu sunt disponibile socluri, acesta suportă sondarea reușind după ce a dormit cel mult nap_milliseconds pentru a evita o buclă ocupată strânsă. Prin nap_milliseconds, apelantul determină granularitatea sondării.

BIO_do_connect_retry() se conectează prin bio dat. Aceasta încearcă din nou BIO_do_connect() atât cât este necesar pentru a ajunge la un rezultat definitiv, de exemplu, conexiunea a reușit, timpul de așteptare a fost atins sau a apărut o eroare. În cazul BIO-urilor care nu se blochează și, eventual, chiar și al celor care nu sunt conectate la soclu, acesta sondează la fiecare nap_milliseconds și doarme între timp folosind BIO_wait(). Dacă nap_milliseconds este < 0, atunci se utilizează o valoare implicită de 100 ms. Dacă parametrul timeout este > 0, acesta indică numărul maxim de secunde de așteptat până la stabilirea conexiunii sau până la apariția unei erori definitive. O valoare de 0 permite așteptarea la nesfârșit (adică fără timp limită), în timp ce o valoare < 0 înseamnă că BIO_do_connect() este încercat o singură dată. Funcția poate, direct sau indirect, să invoce ERR_clear_error().

VALORI RETURNATE

BIO_socket_wait(), BIO_wait(), și BIO_do_connect_retry() returnează -1 în caz de eroare, 0 în caz de depășire a timpului limită, și 1 în caz de succes.

CONSULTAȚI ȘI

BIO_do_connect(3), BIO_read(3)

ISTORIC

BIO_socket_wait(), BIO_wait(), și BIO_do_connect_retry() au fost adăugate în OpenSSL 3.0.

DREPTURI DE AUTOR

Drepturi de autor 2019-2020 The OpenSSL Project Authors. Toate drepturile rezervate.

Licențiat sub Licența Apache 2.0 („License”). Nu aveți voie să utilizați acest fișier decât în conformitate cu licența. Puteți obține o copie din fișierul LICENSE din distribuția sursei sau de la <https://www.openssl.org/source/license.html>.

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

10 august 2025 3.5.2