Comments (3)
Thank you for your issue! I am aware of BACnet through reading about ASN.1, though I never really looked much into it. I would be open to including BACnet as an encoding in the rasn
crate, provided that the standard for the format is openly available for me to read and verify. It certainly seems to be used widely enough to merit being included.
On whether 1 or 2 would be preferable, I think as long 1 doesn't require unreasonable amount of changes, having it as an option might work, though it might be easier to define it as its own type, and just use the free functions in src/de/parser.rs
for parsing.
from rasn.
I did some first trials and option 1, to add it to the existing BER encoder turned out the be not a good idea. So I went with option 2 and created a separate encoder.
I already managed to sucessfully encode Null and Bool. But now I'm not sure how to best move forward with signed and unsigned integers an real/float values
For the two integer types I decided to encode them both via encode_integer
. This is fine as I can use the tag number to distingush them.
However I'm not sure what to do with the real. There is no encode_real
yet. Should I add an encode_real
to the encoder trait, or is there an other way how application tagged types should be encoded that don't correspond to any existing universal type?
from rasn.
Well Real types should have {encode, decode}_real
methods on Encoder
and Decoder
. I just haven't added it yet, because real types are the most difficult to understand and implement IMO. Another unresolved question is what would be the appropriate type to use in Rust for Real types, as I'm pretty sure (though could be wrong, see X.680) real types can be wider than f64
. Help figuring out a good enough solution would be appreciated.
from rasn.
Related Issues (20)
- stack overflow when comparing &ObjectIdentifier with &[u32] HOT 1
- DER decoding of empty sequences is incredibly slow HOT 4
- UnbindRequest encodes/decodes incorrectly
- Comparing Object Identifier causes SIGSEGV HOT 2
- `index_map` and `character_map` are broken (one static map is initialized for all types, and thus doesn't work for different types)
- Breaking change in 0.12.6 breaks compilation of apple-codesign HOT 1
- Tokei lines of code badge doesn't work
- Mutable Access to Encoded Values HOT 2
- Performance of PER codec HOT 8
- Is it possible to get &[u8] for the underlying decoded value
- Standards crates (`rasn-pkix`, `rasn-ocsp`, etc.) should not enable `rasn`'s default feature HOT 2
- Failed windows builds HOT 1
- OER encoder produces output that it can't decode HOT 5
- ia5 string decoding debug assertion reached from OER HOT 1
- OER/COER decode_sequence_of passes invalid data to bitvec load_be resulting in panic from assertion HOT 4
- Does not work in no-std environment HOT 3
- OER encoding rountrip confuses fields HOT 2
- OER/UPER/APER roundtrip fails with untagged sequence fields and optional types HOT 8
- Combination of optional fields and explicit tag ignores the option type HOT 3
- Decoding the data stream
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rasn.