[ 
https://issues.apache.org/jira/browse/THRIFT-5772?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17831519#comment-17831519
 ] 

Triton Circonflexe edited comment on THRIFT-5772 at 3/27/24 7:58 PM:
---------------------------------------------------------------------

Thanks [~cjcombrink] for the work on this subject.

Here are my views on your proposal and maybe some answers:

# I would tend to say we need the wrapper class.
## You need to start somewhere. :)
## Agreed in this case.
## I would have liked an {{std::array<std::byte>}} but it’s not available 
everywhere: {{array}} may be an option (C{+}{+}11) but {{byte}} is probably too 
recent (C{+}{+}17) so agreed for {{uint8_t[16]}}.
### True.
### Since Boost is required anyway, it may be an option to expose it to the 
user (maybe with a compilation/generation flag to give the choice but it would 
add complexity).
# Not sure but if I can cook something, I’ll try.
# I only use binary and compact so not impacted by the choice.
# It depends on what you talk about:
## On the network, it must be network byte order as specified in the doc.
## In the array, I would say host byte order but I’m not sure what it means (a 
64-bits integer, followed by three 16-bits integers, then 12 bytes?). What is 
Boost::Uuid doing?

My 2 cents.


was (Author: triton):
Thanks [~cjcombrink] for the work on this subject.

Here are my views on your proposal and maybe some answers:

# I would tend to say we need the wrapper class.
## You need to start somewhere. :)
## Agreed in this case.
## I would have liked an {{std::array<std::byte>}} but it’s not available 
everywhere: {{array}} may be an option (C++11) but {{byte}} is probably too 
recent (C++17) so agreed for {{uint8_t[16]}}.
### True.
### Since Boost is required anyway, it may be an option to expose it to the 
user (maybe with a compilation/generation flag to give the choice but it would 
add complexity).
# Not sure but if I can cook something, I’ll try.
# I only use binary and compact so not impacted by the choice.
# It depends on what you talk about:
## On the network, it must be network byte order as specified in the doc.
## In the array, I would say host byte order but I’m not sure what it means (a 
64-bits integer, followed by three 16-bits integers, then 12 bytes?). What is 
Boost::Uuid doing?

My 2 cents.

> Add UUID support for C++
> ------------------------
>
>                 Key: THRIFT-5772
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5772
>             Project: Thrift
>          Issue Type: New Feature
>            Reporter: Carel
>            Priority: Minor
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Starting the discussion to add UUID support for C++.
> I have started with an implementation (See PR linked soon)
> Open points for discussion: 
> # Is there perhaps a need to add a wrapper class for UUID?
> ## I started off with {{std::string}} for ease-of-use
> ## 'ease-of-use' has the drawback of ease of miss-use... 
> ## Something lightweight as a strong wrapper to wrap a `{{uint8_t data[16];}}`
> ### A wrapper gives us the ability to add utility functions, like 
> `to_string()` and `from_string()`
> ### Can use {{boost::uuids::uuid}} in the implementation, hidden from users 
> (see current implementation)
> ## I will see if I can't implement something while this PR is looked at.
> # Can someone help with some cross tests
> ## With the absence of working dockers I am really struggling to get other 
> languages compiled.
> ## I don't have enough experience with other languages to effectively do this
> ## I will probably be able to add Java tests if there is something to build 
> on (pointers needed)
> # How important is the JSON side? 
> ## I did add the support but I see only go has some support for it. 
> # (edit) How important is the HOST vs Network order on the UUID?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to