-
Notifications
You must be signed in to change notification settings - Fork 7
TLS Pool as a State Diagram #99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Added a document, doc/message-flow.md, along with a state diagram in doc/std-tlspool-starttls.* that describes what applications usually do to work with the TLS Pool.
Resolved in 5a0699a |
Added a document, doc/message-flow.md, along with a state diagram in doc/std-tlspool-starttls.* that describes what applications usually do to work with the TLS Pool.
Message Flow between Application and TLS Pool
The most important flow to understand is the So what does this mean?
The transitions are described in detail in
Needless to say that Unprotected is the stage before the Callbacks and State Diagrams combine wellOne might consider callbacks as a moment to quickly An event loop such as libev, libevent or libuv can be A source file handling a state diagram of this kind A somewhat extreme example of this idea is our |
With the Asynchronous API to the TLS Pool, we end up sending messages and receiving responses. This is not a free flow, but actually follows a concise pattern. It should be possible to compose a state diagram for the client, the server and the peer involved in TLS using the TLS Pool.
An implementation using the Asynchronous API could simply keep track of the progression of states in terms of a callback function that takes in results and decides how to continue. This kind of chaining of callback functions has already been shown to work, in the KXOVER daemon that is also event-based. Currently, this applies to the branch entitled "tls-based-attempt" and the KXOVER code following this pattern is in the
src/kxover.c
file.The text was updated successfully, but these errors were encountered: