Hi, I'd like to discuss implementing read timeouts in usocket. I quickly looked at the docs of some implementations and found that CCL, SBCL and ClISP support it mostly effortlessly, but CMUCL does not.
What's the policy for adding a feature? Does it have to be supported on all platforms?
Specifically I want to get a socket stream from usocket and handle a portable usockt:read-timeout-condition when a read timeout occurs.
Regards, Mark
Hi Mark,
Are you talking about TCP? I think CMUCL doesn’t support it in a secret way, because when I was implementing the relatively new API, USOCKET:SOCKET-OPTION, I took following code from Hunchentoot for setting the timeout on socket streams in CMUCL:
#+cmu (setf (lisp::fd-stream-timeout (socket-stream usocket)) (coerce timeout 'integer))
I’m not sure if this is a “read timeout”, “write timeout” or both. But maybe you can have a try and tell me if it works? And if it is, I could adjust the definition of SOCKET-CONNECT function, to call above code when giving the TIMEOUT keyword argument.
Hope this helps,
Chun
Il giorno 09/lug/2015, alle ore 20:15, Mark Meyer ofosos@gmail.com ha scritto:
Hi, I'd like to discuss implementing read timeouts in usocket. I quickly looked at the docs of some implementations and found that CCL, SBCL and ClISP support it mostly effortlessly, but CMUCL does not.
What's the policy for adding a feature? Does it have to be supported on all platforms?
Specifically I want to get a socket stream from usocket and handle a portable usockt:read-timeout-condition when a read timeout occurs.
Regards, Mark
*CMUCL “does" support it ...
Il giorno 09/lug/2015, alle ore 20:44, Chun Tian (binghe) binghe.lisp@gmail.com ha scritto:
Hi Mark,
Are you talking about TCP? I think CMUCL doesn’t support it in a secret way, because when I was implementing the relatively new API, USOCKET:SOCKET-OPTION, I took following code from Hunchentoot for setting the timeout on socket streams in CMUCL:
#+cmu (setf (lisp::fd-stream-timeout (socket-stream usocket)) (coerce timeout 'integer))
I’m not sure if this is a “read timeout”, “write timeout” or both. But maybe you can have a try and tell me if it works? And if it is, I could adjust the definition of SOCKET-CONNECT function, to call above code when giving the TIMEOUT keyword argument.
Hope this helps,
Chun
Il giorno 09/lug/2015, alle ore 20:15, Mark Meyer ofosos@gmail.com ha scritto:
Hi, I'd like to discuss implementing read timeouts in usocket. I quickly looked at the docs of some implementations and found that CCL, SBCL and ClISP support it mostly effortlessly, but CMUCL does not.
What's the policy for adding a feature? Does it have to be supported on all platforms?
Specifically I want to get a socket stream from usocket and handle a portable usockt:read-timeout-condition when a read timeout occurs.
Regards, Mark