adaptiveconsulting / simple-binary-encoding Goto Github PK
View Code? Open in Web Editor NEWThis project forked from real-logic/simple-binary-encoding
Simple Binary Encoding (SBE)
License: Apache License 2.0
This project forked from real-logic/simple-binary-encoding
Simple Binary Encoding (SBE)
License: Apache License 2.0
It appears that real-logic have deleted the c# code base that adaptive (?) contributed as it was not kept up to date (real-logic#310)
Are there any plans to bring the c# code up to the latest RC3 implamentation that is supported in the real-logic repo?
Related to this, I think I have found an issue with the CURRENT c# code generation, and its unclear if this should be reported in this repository or in real-logic's one (I'm pretty sure its here...)
Can you elaborate on how you see this going forward?
The code generation is currently generating expressions with pointer logic which will be hard to test and DirectBuffer
leaks a byte pointer... which forces consumer of SBE to compile their code with unsafe flag (which is clearly not acceptable).
Tasks:
DirectBuffer
to read and write to the underlying bufferDirectBuffer
methodsI ported the java API which uses iterators to access groups. This makes the C# groups API very weird to use. We should review that but we should not introduce memory allocation..
We want to define acceptance tests to validate the code generated is valid, from SBE spec perspective.
The schema contains optionally a description of the different properties, we should display that when available and also other information which can be useful during development (Optional/required, null_value, sinceVersion, Min/max values, etc...)
Optional fields, exposed as C# properties should encapsulate null values (the value used to represent null, as defined here: https://github.com/WeAreAdaptive/simple-binary-encoding/blob/master/main/java/uk/co/real_logic/sbe/PrimitiveValue.java)
Current generated code is very close to Java API, which is not very idiomatic for a C# developer. We need to go through the generated code and decide how the different SBE constructs (fields, composites, bitsets, etc..) should be implemented and exposed in .NET.
Output of this task should be a list of the changes to apply in the code generation.
Some initial ideas:
Nullable<>
set
to be implemented a C# enum
with [Flag]
We may want to target portable class library and environments which won't be able to call unsafe code.
Once the API is stabilised we should add a wiki page to document the .NET API
review real-logic#42
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.