NetGroupSendResult.NO_ROUTE code means that there wasn't found any route at all or it failed on forwarding at some peer(possibly hacked flash with disabled forwarding) ?
As I understand, if flash player was hacked, it can even send NetGroupSendResult.SENT code or it's encryped and hacker can't see what type of message is currently passing through his ip.
All what he can do, is to block forwarding on all messages, right? Or copy messages and try to decrypt them after some time?
NetGroupSendResult.ERROR means direct routing is disable localy or on the way at some neighbor peer?
NetGroupSendResult.SENT means all peer along the way don't have problems and ready to forward your message to final destination because ping request made it there and back or how does it working?
Is it worth to try to send message via NetGroup.sendToNearest() second time if NetGroupSendResult.NO_ROUTE returned or after 5-10 seconds?
P.S. I just want to user your, great technology.
the NetGroup.sendToNearest()/sendToNeighbor()/sendToAllNeighbors() calls are all single-hop.
a NO_ROUTE send result to sendToNearest() means that *that peer* wasn't able to find a next hop to which to send the message. it does not (and cannot) have anything to do with anything farther along the path.
likewise SENT means that the message was *sent* to the next hop. it doesn't mean it was delivered to its ultimate destination (or even *delivered* to the next hop) or that there wasn't some other error farther along the path.
likewise, ERROR means that some error occured at this peer, not anywhere farther along the path.
multi-hop recursive operation, like the format of the messages themselves, is totally up to you the developer.
you would only get NO_ROUTE if every peer in the group (including you) is in the EXACT routing mode and not the NEAREST mode, and the target address was not the exact group address of one of the members of the group (including you).
if you get NO_ROUTE, it's possible that some not-you member of the group cound change from EXACT to NEAREST (which would then be able to accept your message), and there is no event for when that happens. so i suppose a re-try could be worthwhile. however, in normal operation, if you're attempting to do recursive routing, every peer will always be in NEAREST mode, so NO_ROUTE should never happen. NO_ROUTE only really makes sense if every peer is in EXACT mode and you want to know whether the message was sent.