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

New msgpack implementation #79

Closed
wants to merge 2 commits into from

Conversation

dmcgowan
Copy link
Contributor

I mark this as a work in progress since it is not ready to be merged. The code design may be reviewed since I plan on using this structure.

Includes:

  • Different msgpack implementation
  • New raw message type
  • New extension implementation

What this enables:

  • More efficient proxying
  • Zero copy in-memory channels
  • Partial Decoding
  • Sending/receiving non struct/map objects

@mcollina
Copy link
Contributor

👍 and congrats on the new msgpack impl! IMHO, that should live in its own repo, it is worth using independently of libchan.

@dmcgowan
Copy link
Contributor Author

@mcollina I will likely split it out later, I wanted it at least reviewed as a whole first since the libchan changes are in lockstep.

@dmcgowan dmcgowan changed the title WIP: New msgpack implementation [WIP] New msgpack implementation Dec 16, 2014
@dmcgowan dmcgowan changed the title [WIP] New msgpack implementation New msgpack implementation Jan 8, 2015
@dmcgowan
Copy link
Contributor Author

dmcgowan commented Jan 8, 2015

This is now a working implementation with full unit test passing. Still going to increase coverage for the new library and updated implementation.

@dmcgowan
Copy link
Contributor Author

Pushed an update with the msgpack changes split out. I submitted upstream but until then my fork will need to be used (https://github.com/dmcgowan/msgpack/tree/raw-message), use the raw-message branch until I get it onto master.

@dmcgowan
Copy link
Contributor Author

The msgpack fork has been cleaned up and this PR is ready to merge. Any additional changes and refactoring to libchan should be done on top of this change.

Ping @stevvooe @BrianBland for a chance to review

@dmcgowan dmcgowan force-pushed the new_msgpack_implementation branch 2 times, most recently from fb87bc4 to e59e5ce Compare February 14, 2015 01:55
@dmcgowan
Copy link
Contributor Author

Also removed dead code related to registering and encoding raw connections. This is unused and unspecified. Rather than porting the logic, much of the code was commented out. Now it is completely removed.

@dmcgowan
Copy link
Contributor Author

Closing to see if reopen will enable circlci

@dmcgowan dmcgowan closed this Feb 14, 2015
@dmcgowan dmcgowan reopened this Feb 14, 2015
- Reintroduce SendTo and ReceiveFrom
- Use raw message when receiving from spdy
- Zero copy in-mem transport
- Remove raw connection encoding

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Update Send and Receive objects to lock access and save their encoder/decoder.  Additionally use a buffered writer on encode.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
@dmcgowan
Copy link
Contributor Author

Re-creating PR for new CI integration and code review

@dmcgowan dmcgowan closed this Feb 14, 2015
@dmp42 dmp42 removed the in progress label Feb 14, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants