SSL_get_all_async_fds(3) - wariua/manpages-ko GitHub Wiki
SSL_waiting_for_async, SSL_get_all_async_fds, SSL_get_changed_async_fds - λΉλκΈ° λμ κ΄λ¦¬νκΈ°
#include <openssl/async.h>
#include <openssl/ssl.h>
int SSL_waiting_for_async(SSL *s);
int SSL_get_all_async_fds(SSL *s, OSSL_ASYNC_FD *fd, size_t *numfds);
int SSL_get_changed_async_fds(SSL *s, OSSL_ASYNC_FD *addfd, size_t *numaddfds,
OSSL_ASYNC_FD *delfd, size_t *numdelfds);
SSL_waiting_for_async()
λ SSL μ°κ²°μ΄ νμ¬ λΉλκΈ° λμμ΄ μλ£λκΈ°λ₯Ό κΈ°λ€λ¦¬κ³ μλμ§ μμλΈλ€. (SSL_CTX_set_mode(3)μ SSL_MODE_ASYNC
λͺ¨λ μ°Έκ³ .)
SSL_get_all_async_fds()
λ νμ¬ λΉλκΈ° λμμ΄ μλ£λμλμ§ μ¬λΆλ₯Ό μμλ΄κΈ° μν΄ select()
λ΄μ§ poll()
νΈμΆμ μΈ μ μλ νμΌ λμ€ν¬λ¦½ν°μ λͺ©λ‘μ λ°ννλ€. λμμ΄ μλ£λλ©΄ νμΌ λμ€ν¬λ¦½ν°μ λ°μ΄ν°κ° "μ½κΈ° μ€λΉ"μΈ κ²μΌλ‘ λνλκ² λλ€. (κ·Έ νμΌ λμ€ν¬λ¦½ν°μμ μ€μ λ°μ΄ν°λ₯Ό μ½μ΄λ€μ¬μ μ λλ€.) μ΄ ν¨μλ SSL κ°μ²΄κ° νμ¬ λΉλκΈ° μμ
μλ£λ₯Ό κΈ°λ€λ¦¬κ³ μλ κ²½μ°μλ§ (μ¦ SSL_ERROR_WANT_ASYNC
λ₯Ό λ°μμ λλ§ - SSL_get_error(3)
μ°Έκ³ ) νΈμΆν΄μΌ νλ€. λ³΄ν΅ κ·Έ λͺ©λ‘μλ νμΌ λμ€ν¬λ¦½ν° ν κ°λ§ μμ κ²μ΄λ€. νμ§λ§ λΉλκΈ° μ§μ μμ§μ μ¬λ¬ κ° μ¬μ© μ€μ΄λΌλ©΄ μ¬λ¬ κ°κ° μμ μλ μλ€. λ°ννλ νμΌ λμ€ν¬λ¦½ν° μλ₯Ό *numfds
μ μ μ₯νκ³ νμΌ λμ€ν¬λ¦½ν°λ€μ *fds
μ μ μ₯νλ€. fds
λ§€κ°λ³μλ NULLμΌ μλ μκ³ , κ·Έ κ²½μ° μ΄λ€ νμΌ λμ€ν¬λ¦½ν°λ λ°ννμ§ μμ§λ§ *numfds
λ μ±μ΄λ€. *fds
μ μΆ©λΆν λ©λͺ¨λ¦¬λ₯Ό ν λΉνλ κ²μ΄ νΈμΆμμ μ±
μμ΄λ―λ‘ λ³΄ν΅μ μ΄ ν¨μλ₯Ό λ λ² (ν λ²μ fds
λ§€κ°λ³μλ₯Ό NULLλ‘, λ ν λ²μ μλκ²) νΈμΆνλ€.
SSL_get_changed_async_fds()
λ λ§μ§λ§μΌλ‘ SSL_ERROR_WANT_ASYNC
λ₯Ό λ°μ μ΄ν (λλ SSL_ERROR_WANT_ASYNC
λ₯Ό λ°μ μ μ΄ μλ€λ©΄ SSL κ°μ²΄λ₯Ό μμ±ν μ΄ν) λͺ©λ‘μ μΆκ°λμκ±°λ λͺ©λ‘μμ μμ λ λΉλκΈ° νμΌ λμ€ν¬λ¦½ν°λ€μ λͺ©λ‘μ λ°ννλ€. SSL_get_all_async_fds()
μ²λΌ *addfd
μ *delfd
μ μΆ©λΆν λ©λͺ¨λ¦¬λ₯Ό ν λΉνλ κ²μ΄ νΈμΆμμ μ±
μμ΄λ©° NULLμΌ μλ μλ€. μΆκ°λ fd κ°μμ μμ λ fd κ°μλ₯Ό κ°κ° *numaddfds
μ *numdelfds
μ μ μ₯νλ€.
SSL_waiting_for_async()
λ νμ¬ SSL λμμ΄ λΉλκΈ° λμ μλ£λ₯Ό κΈ°λ€λ¦¬κ³ μμΌλ©΄ 1μ λ°ννκ³ μλλ©΄ 0μ λ°ννλ€.
SSL_get_all_async_fds()
μ SSL_get_changed_async_fds()
λ μ±κ³΅ μ 1μ λ°ννκ³ μ€λ₯ μ 0μ λ°ννλ€.
μλμ° νλ«νΌμμλ openssl/async.h
ν€λμ νμν λͺ κ°μ§ νμ
λ€μ΄ λ³΄ν΅ windows.h
λ₯Ό ν¬ν¨μμΌμΌ μ¬μ© κ°λ₯ν΄μ§λ€. κ·Έλ°λ° κ°μ₯ λ¨Όμ ν¬ν¨μν€λ ν€λλ€ μ€ νλμΈ windows.h
λ₯Ό μΈμ ν¬ν¨μν¬μ§λ₯Ό μμ© κ°λ°μκ° ν΅μ ν μ μμ΄μΌ νλ κ²½μ°κ° λ§λ€. λ°λΌμ async.h
μ μμ windows.h
λ₯Ό ν¬ν¨μν€λ κ²μ μμ© κ°λ°μμ μ±
μμΌλ‘ κ·μ νλ€.
SSL_get_error(3)
, SSL_CTX_set_mode(3)
OpenSSL 1.1.0μμ SSL_waiting_for_async()
, SSL_get_all_async_fds()
, SSL_get_changed_async_fds()
κ° μ²μ μΆκ°λμλ€.
Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.
2017-12-31