BIO source and sink node, handling socket I/O and monitoring SSL state. More...
#include <bio.h>
![Inheritance graph](classSsl_1_1Bio__inherit__graph.png)
![Collaboration graph](classSsl_1_1Bio__coll__graph.png)
Public Member Functions | |
Bio (const int anFd) | |
virtual | ~Bio () |
virtual int | write (const char *buf, int size, BIO *table) |
Writes the given data to socket. More... | |
virtual int | read (char *buf, int size, BIO *table) |
Reads data from socket. More... | |
virtual void | flush (BIO *) |
virtual void | stateChanged (const SSL *ssl, int where, int ret) |
Static Public Member Functions | |
static BIO * | Create (const int fd, Security::Io::Type type) |
static void | Link (SSL *ssl, BIO *bio) |
Tells ssl connection to use BIO and monitor state via stateChanged() More... | |
Protected Attributes | |
const int | fd_ |
the SSL socket we are reading and writing More... | |
SBuf | rbuf |
Used to buffer input data. More... | |
Detailed Description
Constructor & Destructor Documentation
◆ Bio()
|
explicit |
◆ ~Bio()
Member Function Documentation
◆ Create()
|
static |
Creates a low-level BIO table, creates a high-level Ssl::Bio object for a given socket, and then links the two together via BIO_C_SET_FD.
Definition at line 63 of file bio.cc.
References squid_bio_create(), squid_bio_ctrl(), squid_bio_destroy(), squid_bio_puts(), squid_bio_read(), squid_bio_write(), and SquidMethods.
Referenced by CreateSession().
◆ flush()
|
inlinevirtual |
Flushes any buffered data to socket. The Ssl::Bio does not buffer any data, so this method has nothing to do
Reimplemented in Ssl::ServerBio.
Definition at line 47 of file bio.h.
Referenced by squid_bio_ctrl().
◆ Link()
|
static |
◆ read()
Reimplemented in Ssl::ServerBio, and Ssl::ClientBio.
Definition at line 128 of file bio.cc.
References debugs, default_read_method(), ignoreErrno(), and size.
Referenced by Ssl::ClientBio::read(), Ssl::ServerBio::readAndBuffer(), Ssl::ServerBio::readAndGive(), and squid_bio_read().
◆ stateChanged()
Called by linked SSL connection whenever state changes, an alert appears, or an error occurs. See SSL_set_info_callback().
Called whenever the SSL connection state changes, an alert appears, or an error occurs. See SSL_set_info_callback().
Reimplemented in Ssl::ServerBio, and Ssl::ClientBio.
Definition at line 153 of file bio.cc.
References asHex(), and debugs.
Referenced by Ssl::ClientBio::stateChanged(), and Ssl::ServerBio::stateChanged().
◆ write()
Reimplemented in Ssl::ServerBio, and Ssl::ClientBio.
Definition at line 105 of file bio.cc.
References debugs, default_write_method(), ignoreErrno(), and size.
Referenced by Ssl::ServerBio::flush(), squid_bio_write(), Ssl::ClientBio::write(), and Ssl::ServerBio::write().
Member Data Documentation
◆ fd_
◆ rbuf
|
protected |
Definition at line 64 of file bio.h.
Referenced by Ssl::ClientBio::setReadBufData().
The documentation for this class was generated from the following files:
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products