* added timeout to make sure the reading doesn't get stuck and cause slow run out of sockets if the endpoint do not send anything back.
* added retry logic
nw parameters:
* timeout
* retry
updated with retry and timeout sample
test cases for timeout and retry that demonstrate the case when the endpoint doesn't respond with reply and this could cause run out of sockets