-
Notifications
You must be signed in to change notification settings - Fork 294
feat(C#): add C# implementation (WIP) #2004
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
base: main
Are you sure you want to change the base?
Conversation
This reverts commit 884fbdd.
Hi @Handsome-cong , fury has been renamed to fory in #2263 , could you rename all dirs/paths/classnames from fury to fory in this PR? |
} | ||
|
||
_hasWrittenHeaderFlag = writerRef.WriteUInt8((byte)flag); | ||
if (!_hasWrittenMagicNumber) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if (!_hasWrittenMagicNumber) | |
if (!_hasWrittenHeaderFlag) |
if (value is null) | ||
{ | ||
writtenFlag = RefFlag.Null; | ||
WriteRefFlag(ref writerRef, writtenFlag); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we just write one byte for null, but write a varint for ref tracking
|
||
namespace Fury.Serialization.Meta; | ||
|
||
internal sealed class ReferenceMetaSerializer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we keep consistent name as java/python? For example, we could name it RefResolver. In this way, when having serialization error across languages, we can easily go to the implementation of another language just based on the classname in exception trace
@Handsome-cong Could you add license header to all csharp source files? And could we add some tests in |
@chaokunyang Thanks for the suggestion, I'll fix these later. It may take a few days. I've been busy lately. |
What does this PR do?
This PR provides a C# implementation of fury
Related issues
#686
Does this PR introduce any user-facing change?
Benchmark