table of contents
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¶
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 |