Support 64-bit integers in daemon XML-RPC - #1275
sylvesterkaczmarek wants to merge 4 commits into
Conversation
Signed-off-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com>
|
Tick the box to add this pull request to the merge queue (same as
|
fujitatomoya
left a comment
There was a problem hiding this comment.
the implementation to patch the mashaller looks good to work, but i would take the other path to address the root cause such as JSON-RPC 2.0 over the existing loopback HTTP transport. at least, this needs to be tested.
Signed-off-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com>
Signed-off-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com>
|
The requested transport-level coverage is now present on the current head: the test uses ros2daemon's own XML-RPC server/client path and exercises a 64-bit value through the actual transport. The review thread is resolved, the PR is clean/mergeable, and DCO plus Summary are green. Could you re-review the current head when convenient? |
|
The requested transport-level coverage remains present on the current clean head: the test uses ros2daemon's actual XML-RPC server/client path and exercises a 64-bit integer across the HTTP/XML-RPC transport. The PR intentionally remains scoped to compatibility with the existing transport rather than a JSON-RPC redesign. DCO/Summary are green, there are zero unresolved review threads, and no current failing checks. Re-requesting review. |
|
@fujitatomoya This branch has now been refreshed onto current main (head 731ef82). The transport-level 64-bit XML-RPC coverage remains present. All review threads are resolved, and there are no current failing or pending checks. Could you re-review the current head when convenient? |
Summary
Fixes #629.
Python's standard XML-RPC marshaller rejects integers outside the signed 32-bit range even though its unmarshaller supports the standard
i8extension.Register a custom integer marshaller that:
inttag for signed 32-bit valuesi8for signed 64-bit valuesThis allows daemon RPC payloads to carry 64-bit integer values without changing existing 32-bit output.
Testing
Added focused round-trip coverage for:
inti8Did you use Generative AI?
Yes. AI was used to assist with tests.