Comments (4)
B.t.w., you can just type colf go
(instead of colf Go test.colf
) if you want to. The documentation is a bit fuzzy there. 😅
from colfer.
Hello, @pascaldekloe. Thank you for the quick answer.
However, I was under the impression that empty struct were valid values to be used with colfer.
I found this bug, because I was using colfer in a Go project with empty structs, mainly as acknowledges for some remote procedure calls.
Although the generated code was invalid, removing the unused eof
label allowed it to compile and function correctly, as far as i could test.
Would it be possible to revert this change, and allow empty structs to be accepted in colfer? Is there any shortcoming of using empty struct with colfer?
from colfer.
Thank you for the detailed report Vítor. Somehow the non-empty check got lost. I will add it back again.
from colfer.
The empty struct encodes as a fixed single byte (0x7F). It encodes no information. Therefore I think it should not be used.
Why do you encode an acknowledge response? A zero byte payload is Colter's concept of NULL, regardless of the type. Wouldn't it be better to make your RPC setup skip NULL submission, and read zero payload as NULL again?
from colfer.
Related Issues (20)
- Document limitation: Only 126 fields, ever, no removing HOT 7
- Backwards compatibility with version 1
- Suggestion: Continuous Fuzzing HOT 1
- [Feature request] publish colfer JS to npmjs.com HOT 2
- Will colfer support uint32/uint64 list in the future? HOT 1
- Suggestion:add the -o parameter and specify the output file name. HOT 3
- BufferOverflowException in writeObject HOT 8
- Document uint16 better. HOT 6
- Document UTF-8 Conversion in Spec + Simplify marshall/unmarshall Implementations. HOT 9
- Option to not output go struct definitions HOT 6
- Define Null-able types in some languages HOT 4
- Generated code doesn't compile with "illegal start of expression" HOT 1
- about compatibility, can you support adding a new field into the middle structure in the stream ? HOT 3
- colf for windows - stack exceeded HOT 1
- Dart support HOT 5
- Big Decimal Support HOT 6
- Generate schema from Kotlin code HOT 4
- Bit Field Handling HOT 11
- Java String Performance 🐌
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 colfer.