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

OEML Go websocket SDK #117

Merged
merged 23 commits into from
Jul 26, 2021
Merged

OEML Go websocket SDK #117

merged 23 commits into from
Jul 26, 2021

Conversation

marvin-hansen
Copy link
Contributor

As discussed by email, OEML streaming SDK for Golang

  • Implements all message types up to Oeml version 1.8789
  • Implements new MessageReject error handling
  • Provides example code and tests in separate main file
  • Provides installation guide in Readme
  • Provides development guide in Readme

Differences to the generated REST API:

  • float32 was changed to float64 in all structs due to noticeable rounding errors in account balances(!)
  • Reimplemented JSON marshal methods in all outgoing messages to mitigate an embarrassing golang bug [1]
  • Added missing message type field to all outgoing messages.

Known issues:

  • Not threat safe

Because of the PR size (>6k LoC) and limited time, I was unable to test all corners of the implementation, but I'm willing to provide limited updates in case the implementation breaks or the API makes breaking changes.

[1] golang/go#27179

@Svisstack
Copy link
Contributor

Great job marvin!

@Svisstack Svisstack merged commit 494a465 into coinapi:master Jul 26, 2021
@marvin-hansen
Copy link
Contributor Author

marvin-hansen commented Jul 26, 2021 via email

Svisstack pushed a commit that referenced this pull request Mar 30, 2024
Svisstack pushed a commit that referenced this pull request Mar 30, 2024
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

2 participants