-
Notifications
You must be signed in to change notification settings - Fork 4k
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
THRIFT-3299 Dart language bindings in Thrift #608
Conversation
https://issues.apache.org/jira/browse/THRIFT-3299 Added t_dart_generator.cc and add as a target for Make.
https://issues.apache.org/jira/browse/THRIFT-3299 Cleanup some issues in the generator found while analyzing generated code.
https://issues.apache.org/jira/browse/THRIFT-3299 Initial port of library code, except for transport implementations.
https://issues.apache.org/jira/browse/THRIFT-3299 Minor tweaks to the dart generator
https://issues.apache.org/jira/browse/THRIFT-3299 Added binary and JSON protocols. Added WebSocket transport.
https://issues.apache.org/jira/browse/THRIFT-3299 Switch service generation of service server code to opt-in instead of opt-out.
https://issues.apache.org/jira/browse/THRIFT-3299 Added THttpTransport and a did little refactoring.
https://issues.apache.org/jira/browse/THRIFT-3299 Added BufferedTransport and FramedTransport, with some refactoring.
https://issues.apache.org/jira/browse/THRIFT-3299 Optimizations when using List.length since the base implementation iterates over elements in the getter.
https://issues.apache.org/jira/browse/THRIFT-3299 Fix BufferedTransport.flush to be able to read from the write buffer.
https://issues.apache.org/jira/browse/THRIFT-3299 Fix typo in Dart SDK requirement
https://issues.apache.org/jira/browse/THRIFT-3299 Add pubspec.yaml to generated files.
https://issues.apache.org/jira/browse/THRIFT-3299 Fix generation problems exposed by tutorial specification, related to inheritance and constants.
https://issues.apache.org/jira/browse/THRIFT-3299 Initialize seqid and increment when client writes message begin.
https://issues.apache.org/jira/browse/THRIFT-3299 In progress. Initial stab at tutorial implementation, with known issues. Changed socket interface for open / close to be async. Added support for sockets that are listening for messages (server).
https://issues.apache.org/jira/browse/THRIFT-3299 Fix bugs in binary protocol and json protocol. Use base 64 encoding for socket and http transports. Implement the remainder of the tutorial.
https://issues.apache.org/jira/browse/THRIFT-3299 Make pubspec dependencies more consistent and restrictive.
https://issues.apache.org/jira/browse/THRIFT-3299 Switch uses of List<int> to Uint8List to be more explicit.
https://issues.apache.org/jira/browse/THRIFT-3299 Complete with error when a socket is closed. Minor code cleanup.
https://issues.apache.org/jira/browse/THRIFT-3299 Writing unit tests. A little code cleanup.
https://issues.apache.org/jira/browse/THRIFT-3299 JSON protocol unit tests. Changed binary type to Uint8List. Cleaned up tutorial shell script.
https://issues.apache.org/jira/browse/THRIFT-3299 Protocol and transport unit tests.
https://issues.apache.org/jira/browse/THRIFT-3299 Move completer logic from WebSocket implementations to transport. Split TSocketTransport into TClientSocketTransport and TServerSocketTransport to cleanup some conditional logic.
https://issues.apache.org/jira/browse/THRIFT-3299 Move Base 64 encoding out of transport and back into web_socket implementations.
https://issues.apache.org/jira/browse/THRIFT-3299 Return Futures from open and close that actually reflect the state of the WebSocket.
Cleanup TSocketTransport and related code
https://issues.apache.org/jira/browse/THRIFT-3299 Avoid using String.codeUnits as a Uint8List. Cleanup bad type assignments in tutorial client.
"Jens Geyer" on mark.erickson@workiva.com replies: (1) The current status quo is that the 0.9.3 release will still rely on = (2) Moving entries to /.gitignore would be good.=20 Should be possible by means of entries that exclude only files in a =
(3) The ThriftTest integration test is a cornerstone of Thrift. If the = Some form of a self-test is usually included when =E2=80=9Cmake =
/test/ I think that=E2=80=99s fine.=20 (4) suggestions Would it be possible to connect the tutorial to =E2=80=9Cmake = Have fun, From: Mark Erickson=20 Hi Jens,=20
Thank you for looking at the Dart PR. Please let us know if you have = Mark Mark Erickson On Sat, Sep 19, 2015 at 7:36 AM, Jens Geyer jensgeyer@hotmail.com =wrote: Hi Mark, a few comments, just trying to get it running on my machine.
Thanks + keep up the good work, -----Urspr=C3=BCngliche Nachricht----- From: stevenosborne-wf GitHub user stevenosborne-wf opened a pull request:
You can merge this pull request into a Git repository by running:
Alternatively you can review and apply these changes as the patch at:
To close this pull request, make a commit to your master/trunk branch
commit 97dcdf2
commit 11473fd
generated code. commit 221f604
commit bc73bae
commit fc049c0
commit 495c0dd
of opt-out. commit ecce971
commit a01e06a
commit 84e8763
commit 08d0ce2
commit c410c6d
iterates over elements in the getter. commit 6195d22
buffer. commit e186fb6
commit 017cbd7
commit e347643
to inheritance and constants. commit 21b97b2
commit dbf2878
issues. Changed socket interface for open / close to be async. Added = commit db111ae
encoding for socket and http transports. Implement the remainder of the = commit be267af
commit c18f92c
commit 3e76361
commit 4c74741
commit 1cbb3eb
commit d97bcc1
Cleaned up tutorial shell script. commit e236093
commit 8d74526
Split TSocketTransport into TClientSocketTransport and = commit 4a5197e
implementations. commit cd83635
of the WebSocket. commit 7bacb04
commit 544834b
assignments in tutorial client. If your project is set up for it, you can reply to this email and have = |
https://issues.apache.org/jira/browse/THRIFT-3299 Use a sync completer to ensure that the buffer can be read immediately after the read buffer is set, and avoid a race condition where another response could overwrite the read buffer.
https://issues.apache.org/jira/browse/THRIFT-3299 Change to BinaryProtocol to make tutorial clients more interchangeable. Add support in the tutorial server for TCP socket connections, in addition to WebSockets.
Mark Erickson on jensgeyer@hotmail.com replies:
Thanks, Mark Mark Erickson 2900 University Blvd, Ames, IA 50010 |
https://issues.apache.org/jira/browse/THRIFT-3299 Make console_client conform naming more consistent
https://issues.apache.org/jira/browse/THRIFT-3299 Use args package to parse command line arguments.
https://issues.apache.org/jira/browse/THRIFT-3299 Wrote tests to cover sync completers.
https://issues.apache.org/jira/browse/THRIFT-3299 Coerce null primitives to default values on write.
Add a Dart console-client to the tutorial
Sync completer
Coerce null primitives to default values on write
https://issues.apache.org/jira/browse/THRIFT-3299 Added Dart support in build files. Integration tests working with Python Server on buffered transport. Fixed bug in generator with iterating over maps. Fixed typo in Python test server. Discovered bug in FramedTransport, which is not fixed yet.
https://issues.apache.org/jira/browse/THRIFT-3299 Make TClientSocketTransport simple and add TAsyncClientSocketTransport. Fixed issues with TMessageReader and TFramedTransport.
Hi, some comments.
|
https://issues.apache.org/jira/browse/THRIFT-3299 Fixed "off by one" issue with context stack in JSON protocol.
@Jens-G I'll update the versions of static Dart libraries to |
https://issues.apache.org/jira/browse/THRIFT-3299 Address code review comments to add missing License text and update version to match Thrift version.
I see, didn't recognize that the second one was generated when I wrote that. I saw it later in the compiler code. I think that's fine. Lib should be at whatever Thrift version is (the compiler tells you when called with -v) and as I said we need to document this here. Thanks for the good, keep pushing! Von: Mark Erickson @Jens-G I'll update the versions of static Dart libraries to Reply to this email directly or view it on GitHub: |
No, there is no such mechanism as a version number for services. Maybe IDL annotations could be used for this, never tried that. Von: Mark Erickson @Jens-G I'll update the versions of static Dart libraries to Reply to this email directly or view it on GitHub: |
https://issues.apache.org/jira/browse/THRIFT-3299 Updated version to 1.0.0-dev to match current Thrift version. Added missing license.
https://issues.apache.org/jira/browse/THRIFT-3299 Fixed Makefile dependencies and a little cleanup in TMessagaeReader.
Code Review Cleanup
Build files, Integration test, and Bugfixes
@Jens-G I think I have addressed your comments now. Automake files are in, cross tests are passing with a Dart client and Python server, versions and license headers are updated. I tried to identify the files that will need to be updated on release here - https://github.com/apache/thrift/pull/608/files#diff-d9d9844c5f034229628ba1f2e341ce6bR44. |
…ng.org). Client: Dart Patch: Mark Erickson <mark.erickson@workiva.com> This closes apache#608
Description: Add bindings for dart.
Ticket: https://issues.apache.org/jira/browse/THRIFT-3299