-
Notifications
You must be signed in to change notification settings - Fork 0
Coroutines #5
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
Merged
Coroutines #5
Changes from 56 commits
Commits
Show all changes
75 commits
Select commit
Hold shift + click to select a range
cc71c81
Bump dispatch-proto
chriso ea2bece
Use typed coroutine state
chriso 982a39e
Factor out helpers for use in the next layer up
chriso 3f36dcc
Integrate coroutine library, and get simple functions working
chriso fccfb36
Implement suspend/resume
chriso 4c8b57a
No need for manual noinline directive
chriso e1510bf
coroc struggles with nested NewFunction call; avoid it for now
chriso 4f0cfef
Setup serde for proto.Message
chriso 92df977
Add custom serializers for Dispatch/Client
chriso 255c1af
Ignore warning about copy of mutex
chriso 8c2c65c
Fix Dispatch deser
chriso e593364
Need to store type URL alongside serialized proto.Message
chriso 975e2ba
Tidy up the coroutine after response is generated
chriso 9613050
Factor out a component to hold a collection of functions
chriso 443ab9d
Rework internals in prep for test runner
chriso 141f30e
Disallow registration of volatile coroutines for now
chriso 0285ca0
Sketch out volatile execution mode
chriso 78bba6b
Helper for constructing exit directives with an output value
chriso 7f863e8
Test exit directive
chriso 4d69531
Simplify
chriso 0223560
Improve internal docs
chriso 4d24e28
Remove unused interfaces
chriso 089f2cc
Fix adding coroutine state to a response
chriso d3b6e7c
Status is optional when constructing responses
chriso bfadd59
Input/Output option funcs are optional; infer from how Any is used
chriso f39c38f
Clarify what's happening when creating response
chriso f82221a
Test poll
chriso 162ab6b
Avoid range over int; no need to exclude older Go versions
chriso 8562188
Remove id.go
chriso 5e0d68e
Continue to make it easier working with proto wrappers
chriso 4fa5ba4
Build await/gather
chriso 578946b
Add more comments to help readers
chriso dd14f9d
Implement and test gather
chriso 5050c9b
No need for pointer receiver on gRPC handler
chriso 60e069c
Test random delivery of call results
chriso 9cd38f8
Extract a Gather[O] helper
chriso e39b14c
Implement dispatchtest.Run
chriso 5db758e
Write an integration test
chriso c8eb42f
Change make command name so it's easier to read
chriso 6fb2e5d
This needs to be a coroutine
chriso ebbe731
Bump all deps
chriso dc4be01
Run the integration test in volatile mode first
chriso bc44ad4
Merge branch 'main' into coroutine
chriso f4b242f
Add a couple more helpers
chriso 9b9a092
Move the runnable interface
chriso 8f002a3
Downgrade the panic to a warning
chriso 6632b20
Merge GenericFunction and GenericCoroutine
chriso 43ae3e3
Make volatile coroutines work a little better
chriso aa787bb
Use shorter function constructors
chriso ebd1de9
Factor out a dispatchproto package
chriso 100daba
Factor out a dispatchcoro package
chriso 6b35737
Tidy up coroutine impl
chriso 6008b2a
Remove the volatile coroutine warning
chriso e33f8f4
Tweak dispatchtest API to avoid dispatchproto
chriso 750ec98
No need to export default API URL
chriso c12f841
Return an error if the response status isn't OK
chriso 5210c6b
Update coroutine.go
chriso 4061aa6
Update coroutine.go
chriso 5c0638d
Drop the type aliases for ID/Call
chriso 6e268d0
NewCall => BuildCall
chriso 7639b4a
Remove the need to close PrimitiveFunction/Registry
chriso 8722d65
Rework exports
chriso d91dd0c
Remove the need to close functions
chriso 7ad2705
Closing an endpoint closes the registry and any registered coroutines
chriso aeddcee
Move registry
chriso 2c29d74
Factor out a dispatchclient package
chriso ba06fc3
Don't have Function depend on PrimitiveFunction
chriso a4dba56
Simplify how primitive functions are registered
chriso d77d264
Simplify the dispatchtest package
chriso 54d4fbf
Simplify Option interface
chriso 1a2d935
Fix docs
chriso d49cb23
Isolate the set of volatile coroutine instances
chriso d9e5ecc
Simplify further
chriso 7750571
Move more internal logic to dispatchcoro
chriso 0010d75
PR feedback
chriso File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
*_durable.go |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.