Hello Nat,
Silly question: if you already have a TCP connection to each other server of interest, why not send the query over that connection?
If you find yourself adding packet sequence numbers and retry logic, you're starting down the path of a bad partial imitation of TCP. (Been there, done that...)
you mean *logically* synchronous calls (you don't reply to the original request until some number of complete round trips to these other servers) using asynchronous asio operations. Am I correct that you intend asynchronous operations?
[Disclaimer: I don't know asio and can't answer your question, sorry. But I want to better understand what you're asking.]Silly question: if you already have a TCP connection to each other server of interest, why not send the query over that connection?
David Daeschler wrote:
If the data is not available on the local disk, the server needs to contact one or more peer servers it knows about, send a query to each one via UDP asking if it has the data, and then use an existing TCP connection to that server to retrieve the asset.
One of the key characteristics of UDP is that a packet might be silently lost. If you find yourself adding packet sequence numbers and retry logic, you're starting down the path of a bad partial imitation of TCP. (Been there, done that...)Your subject line implies that you're thinking of doing this with synchronous calls, but your questions about io_service objects imply that you mean *logically* synchronous calls (you don't reply to the original request until some number of complete round trips to these other servers) using asynchronous asio operations. Am I correct that you intend asynchronous operations?
This step must be completed before any more processing can be done for the current client even though the client may be sending even more requests while we process.
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users