Format: tag=value pairs, separated by SOH character.
8=FIX.4.4
9=148
35=D
34=1080
49=TESTBUY1
52=20180920-18:14:19.508
56=TESTSELL
111=636730640278898634
15=USD
21=2
38=7000
40=1
54=1
55=MSFT
60=20180920-18:14:19.492
10=092
A crate for FIX newcomers as well as demanding users.
1. Not standard-compliant: data
and NumInGroup
.
2. No streaming support!
3. DevX considerations.
4. N+1 allocations.
5. No choice of BuildHasher
.
A XML specification for FIX messages
Β
&
.Arc<Dictionary>
. π‘Woeful restrictions for downstream users. π
FIX doesn't integrate any framing mechanism. πΌοΈ
TokioΒ to the rescue! π
But what did we lose?
Β
Devs now have to think about dictionaries, Tokio, they can't directly use &[u8]
. Every user seems to must care about every abstraction we introduce.
Β
Soon enough: openssl
& rustls
, decimal
, and others.
We can solve these problems with traits: the most comprehensive type abstraction tool we have in Rust.
π‘
Huge dependencies like Dictionary
are fertile grounds for trait-based abstractions.
We often introduce traits out of necessity, reacting to emerging requirements.
What if we were more proactive about this? β‘
Does this type let me do that?
What is it exactly that I need here?
β‘οΈ
Don't be scared to populate your crates with many traits.
Your SemVer will be alright. Really.
Dictionary
away lets us explore truly zero-cost codegen solutions. ππ»ββοΈ