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

Struct Tuples/Options #82

Merged
merged 8 commits into from
Sep 1, 2022
Merged

Struct Tuples/Options #82

merged 8 commits into from
Sep 1, 2022

Conversation

bartelink
Copy link
Collaborator

@bartelink bartelink commented Aug 29, 2022

  • Convert all Tuple/Option types to the struct versions - can be a touch ugly in usage, but hopefully future F# versions make it less so; also applied to active patterns
  • Major other change is to switch 'context from an option that's stubbed as an obj to be a unit when not relevant
  • Add TimelineEvent.Size field to allow gathering stats without inspecting the Data

Including some minor other profiling-driven optimizations in StreamName

@bartelink bartelink merged commit 6a5718f into master Sep 1, 2022
@bartelink bartelink deleted the structs branch September 1, 2022 09:35
bartelink added a commit to jet/equinox that referenced this pull request Sep 2, 2022
Added:
- `Equinox.Core`: `Category` base class, with `Decider` and `Stream` helper `module`s

Changed:
- Performance: Switch surface APIs to `struct` Tuples and Options where relevant, some due to `struct` changes in jet/FsCodec#82, and use `task` in hot paths
- `Equinox.Decider`: `log` is now supplied via `Equinox.Category`
- `Equinox.Decider`: `maxAttempts` with a default policy and an optional argument on `Transact*` APIs re #232 
- `Equinox`: push `Serilog` dependency from `Equinox` out to `Equinox.Core`
This pull request was closed.
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.

1 participant