-
Notifications
You must be signed in to change notification settings - Fork 4
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
Async Runtime #65
Merged
Merged
Async Runtime #65
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This module was reimplemented in three different places.
These are now using OpenFlow_Header.
Eventually, remove all aliases to this type.
Added wrappers for 1.0, 1.3, and uninterpreted chunks. This allows the platform to be instantiated with any of these protocols.
vim swap files
Do not bother creating any other .mli files. Instead, expose all new modules as submodules of Async_OpenFlow. This keeps the module namespace tidy.
This signature is also useful when writing clients
… into final-async
- This is a lower level interface than Async_OpenFlow.Platform. - Serialization code has been factored out of Platform, since it is shared by both.
See the comment at the end of test/Test.ml which explains the change. Notice that the test command in _oasis has also been updated. I've changed OpenFlow_Header to actully use core to demonstrate that make test doesn't hang. @seliopou
Two simplifications: - Message.marshal returns () instead of the number of bytes written. The length of the header specifies exactly how many bytes to write. In fact, we were ignoring the returned int everywhere. - Message.marshal now only marshals the body. The generic portion of the serializer marshals the header. This makes it possible to convert between chunks and parsed messages. It is also more consistent, since deserialization does not parse the header.
I had not done --enable-async
Based on the Cstruct Makefile: https://github.com/avsm/ocaml-cstruct/blob/master/Makefile Key features: - "make clean" deletes setup.data, which is generated by configure - make builds the async submodule if async is installed (and similarly for lwt and quickcheck)
Frenetic is enabling it just fine
I had a variable-shadowing bug in earlier code.
That info was already being printed at the DEBUG level. Move logging down the next state, in which a message is received from a client with an unknown state. (An error that should never happen.)
All modules are exposed through the Async_OpenFlow.mli file.
needs more commits. seriously guys, I'm thrilled to see this. can't wait for the next steps. :-) |
This is already being exported by Asyc_Openflow, and no longer has an .mli file anyways.
seliopou
added a commit
that referenced
this pull request
Jan 10, 2014
Conflicts: _oasis _tags setup.ml
#amazing |
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request primarily introduces the new async-based runtime for ocaml-openflow. The async-based runtime will be the preferred runtime moving forward, with the Lwt-based runtime being removed from the repository and distribution before the next release. Once this branch is merged Lwt should be considered deprecated, and no new patches affecting that code will be accepted.
In addition, this pull request includes a custom Makefile, rather the one generated by oasis.