You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I want to verify interoperability of the SVS implementation in this library with the C++ reference implementation.
However, I cannot get the chat example to connect.
I think it's useful to include at least one example along with instructions to demonstrate the interoperability of this library with the reference implementation.
You can see NDNts sync-interop as an example.
Environment
Ubuntu 20.04 in LXC container on kernel 6.0.0-0.deb11.6-amd64
Go 1.19.3
ndn-cxx 0.8.1-1-g535bd332-nightly~focal
NFD 22.12-nightly~ndncxx0.8.1.1.g535bd332~focal
justincpresley/ndn-sync production branch, commit e57bd02 (2023-02-03)
In C++, HMAC signing is disabled and sync prefix is changed:
diff --git a/examples/chat.cpp b/examples/chat.cpp
index 42f5e77..d611d74 100644
--- a/examples/chat.cpp+++ b/examples/chat.cpp@@ -32,10 +32,7 @@ class Program
public:
Program(const Options &options) : m_options(options)
{
- // Use HMAC signing for Sync Interests- // Note: this is not generally recommended, but is used here for simplicity
ndn::svs::SecurityOptions securityOptions(m_keyChain);
- securityOptions.interestSigner->signingInfo.setSigningHmacKey("dGhpcyBpcyBhIHNlY3JldCBtZXNzYWdl");
// Create the SVSync instance
m_svs = std::make_shared<ndn::svs::SVSync>(
@@ -122,7 +119,7 @@ main(int argc, char **argv)
}
Options opt;
- opt.prefix = "/ndn/svs";+ opt.prefix = "/svs";
opt.m_id = argv[1];
Program program(opt);
Experiment Procedure
Start NFD and set multicast strategy for /svs prefix.
Start ndn-sync/examples/svs/high-level/chat instances A and B.
Start ndn-svs/examples/chat instances C and D.
Send one message from each of A, B, C, and D.
Check which instances received the message.
Expect output is that each instance shall receive one message from each other instance.
Actual Result
The chat instances cannot receive messages sent from another implementation.
ubuntu@ndndev:~/ndn-sync$ go run ./examples/svs/high-level/chat/ -source A
Entered the chatroom /svs as /A.
To leave, Press CTRL-C.
/A: MSG-A
/B: MSG-B
ubuntu@ndndev:~/ndn-sync$ go run ./examples/svs/high-level/chat/ -source B
Entered the chatroom /svs as /B.
To leave, Press CTRL-C.
/A: MSG-A
/B: MSG-B
ubuntu@ndndev:~/ndn-svs$ LD_LIBRARY_PATH=build build/examples/chat C
SVS client starting:C
/D/svs/%01 : User D has joined the groupchat
MSG-C
/D/svs/%02 : MSG-D
ubuntu@ndndev:~/ndn-svs$ LD_LIBRARY_PATH=build build/examples/chat D
SVS client starting:D
/C/svs/%01 : User C has joined the groupchat
/C/svs/%02 : MSG-C
MSG-D
The text was updated successfully, but these errors were encountered:
I want to verify interoperability of the SVS implementation in this library with the C++ reference implementation.
However, I cannot get the chat example to connect.
I think it's useful to include at least one example along with instructions to demonstrate the interoperability of this library with the reference implementation.
You can see NDNts sync-interop as an example.
Environment
0.8.1-1-g535bd332-nightly~focal
22.12-nightly~ndncxx0.8.1.1.g535bd332~focal
In ndn-sync, FormalEncoding is enabled:
In C++, HMAC signing is disabled and sync prefix is changed:
Experiment Procedure
/svs
prefix.Expect output is that each instance shall receive one message from each other instance.
Actual Result
The chat instances cannot receive messages sent from another implementation.
The text was updated successfully, but these errors were encountered: