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

Refactor gen_rpc, implement SSL support #63

Merged
merged 1 commit into from
Oct 4, 2016

Conversation

priestjim
Copy link
Owner

  • The server and acceptor FSMs have been converted to gen_statem to
    follow Erlang's best practices
    and development. As a result, support for Erlang releases older than
    19.1 has been dropped
    .
  • Specific options, leveraging Erlang 19, have been enabled such as
    off-heap mailboxes for client and acceptor,
    and higher priorities for all gen_rpc processes.
  • Ports are not dynamically assigned anymore as it shows that, after
    some research, offers no additional benefits
    to having a static port listener. That means less processes to
    supervise and less moving parts where something can
    go wrong.
  • Support for SSL has been added. Please refer to the
    README for more information on
    how to use it.
  • Module version control support has been added, effectively allowing
    you to only make RPC calls to nodes that
    run specific versions of modules.
  • lager support has been dropped in favor of the logging
    backend-agnostic library hut, in order to better support
    Elixir installations. The test suite and development profiles still
    use lager but this doesn't interfere with production
    deployments of gen_rpc.
  • Tests have been updated to test more edge cases, including new SSL
    functionality.
  • Some options in gen_rpc.app.src have changed names to better
    describe what they do. Again, pleaserefer to the README to
    verify your preexisting settings are consistent with their new names.
  • Various smaller bugs have been fixed and various responses have been
    massaged for consistency.

@priestjim priestjim added this to the Version 2.0 milestone Oct 4, 2016
@priestjim priestjim self-assigned this Oct 4, 2016
- The server and acceptor FSMs have been converted to `gen_statem` to
  follow Erlang's best practices
  and development. As a result, **support for Erlang releases older than
  19.1 has been dropped**.

- Specific options, leveraging Erlang 19, have been enabled such as
  off-heap mailboxes for client and acceptor,
  and higher priorities for all `gen_rpc` processes.

- Ports are not dynamically assigned anymore as it shows that, after
  some research, offers no additional benefits
  to having a static port listener. That means less processes to
  supervise and less moving parts where something can
  go wrong.

- Support for SSL has been added. Please refer to the
  [README](README.md#ssl-configuration) for more information on
  how to use it.

- Module version control support has been added, effectively allowing
  you to only make RPC calls to nodes that
  run specific versions of modules.

- `lager` support has been **dropped** in favor of the logging
  backend-agnostic library `hut`, in order to better support
  Elixir installations. The test suite and development profiles still
  use lager but this doesn't interfere with production
  deployments of `gen_rpc`.

- Tests have been updated to test more edge cases, including new SSL
  functionality.

- Some options in `gen_rpc.app.src` have changed names to better
  describe what they do. Again, pleaserefer to the README to
  verify your preexisting settings are consistent with their new names.

- Various smaller bugs have been fixed and various responses have been
  massaged for consistency.
@coveralls
Copy link

Coverage Status

Changes Unknown when pulling 76e9e6e on feature/refactor_rebase into * on develop*.

@priestjim priestjim merged commit 885af4c into develop Oct 4, 2016
@priestjim priestjim deleted the feature/refactor_rebase branch October 4, 2016 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants