I wish to implement http request pipelining for series 60 2nd FP2
using RHTTPSession and RHTTPTransaction classes.
I tried a couple of these methods.
1. Maintaining an array of RHTTPTransactions, subject to a max limit (say 4)
and submitting all 4 transactions simultaneously and then waiting for
the responses. There was a single implementation of MHFRunL and MHFRunError.
The problem i faced with this approach is that the responses recieved
are interleaved( not in the order in which the requests were sent).
2. Creating a seperate transaction variable for every request generated and
creating seperate handlers (MHFRunL and MHFRunError). Also in this case,
the responses are interleaved.
Also I tried to use a single transaction variable for all my POST requests.(directed to a single URL)
.In this scenario, on completion of every request, i reset the headers and the request BODY. Then i
"Submit" the newly created request using the same transaction variable. However, this request doesn't
get serviced and the MHFRunL doesn't get called.
If I close the transaction and recreate a new transaction handle for every request everything seems to
work fine. My question is what could be going wrong when i use a single transaction variable over an
My queries are as follows.
Does opening multiple transaction variables, opens multiple sockets ?.
What could be probable reasons for the responses getting interleaved ?.
How do i go about achieving request pipelining.?
Any pointers to solution will be helpful.
Thanks in advance.