tplgy / bonefish

C++ WAMP application router that enables building applications from loosely-coupled components.
Apache License 2.0
55 stars 33 forks source link

Interoperate with ccpwamp example #39

Closed warnude closed 8 years ago

warnude commented 8 years ago

I am interested by wamp and specially by bonefish implementation to use in an embedded device.

I tried to use a cppwamp example : [https://github.com/ecorm/cppwamp/tree/master/examples/timeservice] but the behaviour is not correct. It seems Bonefish block the publish action ( compared to crossbar for example) . I begun to assume that the problem could be due to lack of acknowledgements support but I am not sure. Could you confirm this problem and/or give a trail to solve the problem ?

Here is the code

[rawsocket_server_impl.cpp:94][start] starting rawsocket server [websocket_server_impl.cpp:54][start] starting websocket server: 0.0.0.0:9999 creating uds connection [wamp_message_processor.cpp:46][process_message] processing message: hello [wamp_router_impl.cpp:108][attach_session] attaching session: session [7090515283965860,cppwamp.demo.time,none] [wamp_dealer.cpp:65][attach_session] attach session: session [7090515283965860,cppwamp.demo.time,none] [wamp_broker.cpp:51][attach_session] attach session: session [7090515283965860,cppwamp.demo.time,none] [wamp_router_impl.cpp:164][process_hello_message] session [7090515283965860,cppwamp.demo.time,none], hello [cppwamp.demo.time, {"agent":"cppwamp-0.6.2", "roles":{"callee":{"features":{"call_trustlevels":true, "caller_identification":true, "pattern_based_registration":true, "progressive_call_results":true}}, "caller":{"features":{"call_timeout":true, "callee_blackwhite_listing":true, "caller_exclusion":true, "caller_identification":true}}, "publisher":{"features":{"publisher_exclusion":true, "publisher_identification":true, "subscriber_blackwhite_listing":true}}, "subscriber":{"features":{"pattern_based_subscription":true, "publication_trustlevels":true, "publisher_identification":true}}}}] [wamp_router_impl.cpp:192][process_hello_message] session [7090515283965860,cppwamp.demo.time,open], welcome [7090515283965860, {"roles":{"dealer":{"features":{"call_timeout":true, "progressive_call_results":true}}, "broker":{}}}] [rawsocket_transport.cpp:39][send_message] sending message: welcome [wamp_message_processor.cpp:46][process_message] processing message: register [wamp_dealer.cpp:304][process_register_message] session [7090515283965860,cppwamp.demo.time,open], register [1, {}, get_time] [wamp_dealer.cpp:345][process_register_message] session [7090515283965860,cppwamp.demo.time,open], registered [1, 1] [rawsocket_transport.cpp:39][send_message] sending message: registered [wamp_message_processor.cpp:46][process_message] processing message: publish [wamp_broker.cpp:111][process_publish_message] session [7090515283965860,cppwamp.demo.time,open], publish [2, {"acknowledge":true}, time_tick, [{"hour":18, "isdst":1, "mday":17, "min":53, "mon":4, "sec":37, "wday":2, "yday":137, "year":116}], nil]

and in the cppwamp example the output "Tick" of: session->publish(Pub("time_tick").withArgs(*local), yield); std::cout << "Tick\n";

`` doesn't appear in the console (but it appears with crossbar for example) .

ecorm commented 8 years ago

@warnude, try using the non-acknowledged overload for publish:

session->publish(Pub("time_tick").withArgs(*local));
davidchappelle commented 8 years ago

Support for publish acknowledgements is not yet in bonefish.

On Tuesday, May 17, 2016, Emile Cormier notifications@github.com wrote:

@warnude https://github.com/warnude, try using the non-acknowledged overload for publish:

session->publish(Pub("time_tick").withArgs(*local));

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/tplgy/bonefish/issues/39#issuecomment-219817183

warnude commented 8 years ago

Sorry, I missed this basic test ... Obviously, the test works without the yield. Thank you for your help and this implementation.