7 #ifndef __WVSSLSTREAM_H
8 #define __WVSSLSTREAM_H
10 #include "wvfdstream.h"
12 #include "wvstreamclone.h"
19 typedef struct ssl_ctx_st SSL_CTX;
20 typedef struct ssl_st SSL;
21 typedef struct ssl_method_st SSL_METHOD;
27 typedef wv::function<bool(WvX509*)> WvSSLValidateCallback;
28 typedef wv::function<bool(WvX509*, WvSSLStream *)> WvSSLGlobalValidateCallback;
48 static WvSSLGlobalValidateCallback global_vcb;
55 WvSSLValidateCallback _vcb = 0,
bool _is_server =
false);
64 virtual bool isok()
const;
80 virtual size_t uwrite(
const void *buf,
size_t len);
81 virtual size_t uread(
void *buf,
size_t len);
89 SelectRequest connect_wants;
92 void setconnected(
bool conn);
98 bool ssl_stop_read, ssl_stop_write;
101 WvSSLValidateCallback vcb;
128 const char *wstype()
const {
return "WvSSLStream"; }
131 #endif // __WVSSLSTREAM_H