I have my own Protocol[]
which looks like this
Protocol[] prot_stack = {
new UDP(),
new PING()
.setValue("num_discovery_runs", 10)
.setValue("stagger_timeout", 1500)
.setValue("async_discovery", true)
.setValue("async_discovery_use_separate_thread_per_request", true)
.setValue("discovery_rsp_expiry_time", 5000),
new MERGE3(),
new FD_SOCK(),
new FD_ALL(),
new VERIFY_SUSPECT(),
new BARRIER(),
new NAKACK2(),
new UNICAST3(),
new STABLE(),
new GMS(),
new UFC(),
new MFC(),
new FRAG2()};
but for some reason if num_discovery_runs
is set to 10, the discovery does not work anymore and it never responds anymore. When num_discovery_run
is set to 3, it runs the discovery, but only once.
It does not run it three times. It just discovers after 3000ms that there is no Coordinator available and creates his own (which I want to prevent by having more discovery runs).
The current code looks like this
channel = new JChannel(prot_stack).setReceiver(this).addChannelListener(this);
channel.setDiscardOwnMessages(true);
channel.setName("RFID Cluster");
channel.connect("RFID Cluster");
What am I doing wrong? Why can I not change the amount of discovery runs higher than 3 (which does not even work anyway).
According to the documentation this should work.