Skip to content
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 88 commits into from
Jan 10, 2014
Merged

Async Runtime #65

merged 88 commits into from
Jan 10, 2014

Commits on Dec 26, 2013

  1. async: remove old test

    arjunguha committed Dec 26, 2013
    Configuration menu
    Copy the full SHA
    b30762b View commit details
    Browse the repository at this point in the history
  2. async: add OpenFlow_Header module

    This module was reimplemented in three different places.
    arjunguha committed Dec 26, 2013
    Configuration menu
    Copy the full SHA
    9d56a61 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    664c688 View commit details
    Browse the repository at this point in the history
  4. async: removed version-specific Header modules

    These are now using OpenFlow_Header.
    arjunguha committed Dec 26, 2013
    Configuration menu
    Copy the full SHA
    1f810cf View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    eb17cae View commit details
    Browse the repository at this point in the history
  6. async: xid type is now in OpenFlow_Header

    Eventually, remove all aliases to this type.
    arjunguha committed Dec 26, 2013
    Configuration menu
    Copy the full SHA
    ea665bb View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2013

  1. Configuration menu
    Copy the full SHA
    ca87f07 View commit details
    Browse the repository at this point in the history
  2. async: added Async_Platform.Message wrappers

    Added wrappers for 1.0, 1.3, and uninterpreted chunks. This allows the platform
    to be instantiated with any of these protocols.
    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    8d54eec View commit details
    Browse the repository at this point in the history
  3. .gitignore

    vim swap files
    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    e8c9d94 View commit details
    Browse the repository at this point in the history
  4. :async Async_OpenFlow is the interface

    Do not bother creating any other .mli files. Instead, expose all new modules as
    submodules of Async_OpenFlow. This keeps the module namespace tidy.
    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    d22db7a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    bb1549c View commit details
    Browse the repository at this point in the history
  6. async: moved the Message signature out of Platform.

    This signature is also useful when writing clients
    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    7d29066 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    70a8a85 View commit details
    Browse the repository at this point in the history
  8. async: fix compile errors in lwt

    seliopou authored and arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    78eb5a2 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3b88a3e View commit details
    Browse the repository at this point in the history
  10. async: Async_OpenFlow.ClientServer

    - This is a lower level interface than Async_OpenFlow.Platform.
    - Serialization code has been factored out of Platform, since it
      is shared by both.
    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    16d39c5 View commit details
    Browse the repository at this point in the history
  11. async: expose log

    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    9049eb6 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    6bea9fb View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    7ad6c65 View commit details
    Browse the repository at this point in the history
  14. async: link with core and still run tests

    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
    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    de37c24 View commit details
    Browse the repository at this point in the history
  15. async: marshal returns unit and only marshals body

    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.
    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    adc0d15 View commit details
    Browse the repository at this point in the history
  16. bugfix to previous commit

    I had not done --enable-async
    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    30bc4e4 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    8461985 View commit details
    Browse the repository at this point in the history
  18. Hypervisor

    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    c88f6be View commit details
    Browse the repository at this point in the history
  19. async: better logging

    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    da30c66 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    f063703 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    09c8764 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    5d1466d View commit details
    Browse the repository at this point in the history
  23. async: learning switch

    seliopou committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    85a05f9 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    6018b89 View commit details
    Browse the repository at this point in the history
  25. 1 Configuration menu
    Copy the full SHA
    5d7fe89 View commit details
    Browse the repository at this point in the history
  26. async: robustness for ClientServer module

    - If the socket closes, we also close the pipes carrying parsed messages
    - Evaluate getpeername eagerly. It will throw an exception if applied to
      a closed socket. (!!!)
    - Ignore errors signalled by a handler (default behavior is to stop listening).
      In the future, we might want to print an error instead, but stop-listening is
      sort of ridiculous.
    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    0b5eb36 View commit details
    Browse the repository at this point in the history
  27. async: bugfix

    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    ea08911 View commit details
    Browse the repository at this point in the history
  28. robustness

    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    46a395d View commit details
    Browse the repository at this point in the history
  29. robustness

    arjunguha committed Dec 27, 2013
    Configuration menu
    Copy the full SHA
    d4c5372 View commit details
    Browse the repository at this point in the history

Commits on Dec 28, 2013

  1. bugfix

    arjunguha committed Dec 28, 2013
    Configuration menu
    Copy the full SHA
    4a676e5 View commit details
    Browse the repository at this point in the history

Commits on Dec 29, 2013

  1. async: Add Trans submodule to Platform

    The Trans module contains functions for composing and running platform
    programs. Currently this module only exports the compose operation for
    combining stages, which Kleisli composition for Deferred options, though
    it also acts to pass along the first argument of the stage, in a reader
    monad-esque way.
    seliopou committed Dec 29, 2013
    2 Configuration menu
    Copy the full SHA
    8c40000 View commit details
    Browse the repository at this point in the history
  2. 1 Configuration menu
    Copy the full SHA
    3e043ca View commit details
    Browse the repository at this point in the history
  3. 1 Configuration menu
    Copy the full SHA
    0e5640e View commit details
    Browse the repository at this point in the history
  4. of: all xid types refer to OpenFlow_Header.xid

    Directly or indirectly, now all xid types in every module is a synonym
    for OpenFlow_Header.xid.
    seliopou committed Dec 29, 2013
    1 Configuration menu
    Copy the full SHA
    0848333 View commit details
    Browse the repository at this point in the history

Commits on Dec 30, 2013

  1. of: constants for common protocol message types

    OF0x01 and OF0x04 share many common message types. Define some of these,
    in particular the ones that are necessary for a minimal handshake.
    seliopou committed Dec 30, 2013
    1 Configuration menu
    Copy the full SHA
    bbf0591 View commit details
    Browse the repository at this point in the history
  2. async: Add local to Platform.Trans

    This is equivalent to the local function in a reader monad. Transform
    the read value for some sub-computation.
    seliopou committed Dec 30, 2013
    3 Configuration menu
    Copy the full SHA
    ae1d50e View commit details
    Browse the repository at this point in the history
  3. async: Add allocating marshal' to Message interface

    marshal' is just like marshal except it performs the necessary
    allocation. Its return type is also the Chunk type, which is at times
    convenient.
    seliopou committed Dec 30, 2013
    3 Configuration menu
    Copy the full SHA
    cafc426 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    62cc4a0 View commit details
    Browse the repository at this point in the history
  5. 1 Configuration menu
    Copy the full SHA
    2415f63 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5a55856 View commit details
    Browse the repository at this point in the history
  7. 1 Configuration menu
    Copy the full SHA
    9d3b6f7 View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2013

  1. Fix xid and sexp issue.

    jnfoster committed Dec 31, 2013
    Configuration menu
    Copy the full SHA
    9542372 View commit details
    Browse the repository at this point in the history
  2. async: Rename Switch_id to Client_id

    The previous naming was confusing given that a switch identifier means
    something within the context of OpenFlow. Rename Switch_id to Client_id,
    things that identify client connections to the server.
    seliopou committed Dec 31, 2013
    Configuration menu
    Copy the full SHA
    16a316e View commit details
    Browse the repository at this point in the history
  3. Progress on Highlevel

    jnfoster committed Dec 31, 2013
    1 Configuration menu
    Copy the full SHA
    7df846a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8e53648 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6e00775 View commit details
    Browse the repository at this point in the history
  6. Missing files

    jnfoster committed Dec 31, 2013
    3 Configuration menu
    Copy the full SHA
    6d7c813 View commit details
    Browse the repository at this point in the history

Commits on Jan 1, 2014

  1. Configuration menu
    Copy the full SHA
    ded377c View commit details
    Browse the repository at this point in the history
  2. ported 0x04 handshake

    jnfoster committed Jan 1, 2014
    Configuration menu
    Copy the full SHA
    03cbd1e View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2014

  1. 3 Configuration menu
    Copy the full SHA
    1f7eaf4 View commit details
    Browse the repository at this point in the history
  2. 1 Configuration menu
    Copy the full SHA
    dc9f884 View commit details
    Browse the repository at this point in the history
  3. Expose Highlevel

    jnfoster committed Jan 2, 2014
    Configuration menu
    Copy the full SHA
    5793134 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0fd3e9a View commit details
    Browse the repository at this point in the history
  5. async: combined handshake into one function

    No need to split up init and finish into two different stages.
    seliopou committed Jan 2, 2014
    Configuration menu
    Copy the full SHA
    e4495b6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5ed3814 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d1bf893 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    5f87b05 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3d3e9ff View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2014

  1. Configuration menu
    Copy the full SHA
    f7a3b39 View commit details
    Browse the repository at this point in the history
  2. async: fix use of port_description_request_msg

    It is now a constant instead of a function.
    seliopou committed Jan 3, 2014
    Configuration menu
    Copy the full SHA
    3c12bfa View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2014

  1. --enable-tests --enable-quickcheck tweak

    --enable-tests *always* builds the test suite and openflow.quickcheck,
    which the tests require
    
    --enable-quickcheck builds openflow.quickcheck, but not the test suite
    arjunguha committed Jan 5, 2014
    Configuration menu
    Copy the full SHA
    ca8c05d View commit details
    Browse the repository at this point in the history
  2. removed ocamldoc configuration from _oasis

    opam-doc, chaps
    arjunguha committed Jan 5, 2014
    Configuration menu
    Copy the full SHA
    4f1fe60 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8885660 View commit details
    Browse the repository at this point in the history
  4. better, hand-crafted Makefile

    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)
    arjunguha committed Jan 5, 2014
    Configuration menu
    Copy the full SHA
    23f27e3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4e594f4 View commit details
    Browse the repository at this point in the history
  6. do not enable debug logging here

    Frenetic is enabling it just fine
    arjunguha committed Jan 5, 2014
    Configuration menu
    Copy the full SHA
    48cac44 View commit details
    Browse the repository at this point in the history
  7. fix to tag-based log filtering

    I had a variable-shadowing bug in earlier code.
    arjunguha committed Jan 5, 2014
    Configuration menu
    Copy the full SHA
    f166ae6 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    2d77fe5 View commit details
    Browse the repository at this point in the history
  9. nicer logging

    arjunguha committed Jan 5, 2014
    Configuration menu
    Copy the full SHA
    a1cac2c View commit details
    Browse the repository at this point in the history
  10. fixed OF 1.3 handshake

    arjunguha committed Jan 5, 2014
    4 Configuration menu
    Copy the full SHA
    e522ec0 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2014

  1. async: Remove unused import

    seliopou committed Jan 8, 2014
    Configuration menu
    Copy the full SHA
    5884ab0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    00012c2 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2014

  1. Configuration menu
    Copy the full SHA
    fe30da6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    678096f View commit details
    Browse the repository at this point in the history
  3. async: Remove redundant debugging

    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.)
    seliopou committed Jan 9, 2014
    Configuration menu
    Copy the full SHA
    5d791da View commit details
    Browse the repository at this point in the history
  4. async: Make Highlevel interface conformant

    All modules are exposed through the Async_OpenFlow.mli file.
    seliopou committed Jan 9, 2014
    Configuration menu
    Copy the full SHA
    e1ebe7b View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2014

  1. Configuration menu
    Copy the full SHA
    3f8818a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b99f264 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    37e1664 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    be274b4 View commit details
    Browse the repository at this point in the history
  5. async: Remove redundant Async_Highlevel export

    This is already being exported by Asyc_Openflow, and no longer has an
    .mli file anyways.
    seliopou committed Jan 10, 2014
    Configuration menu
    Copy the full SHA
    db8494a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b377b8a View commit details
    Browse the repository at this point in the history