From: Todd S. <ts...@op...> - 2002-05-27 15:42:26
|
Arseny Slobodjuck <am...@ic...> writes: > Todd> Correct me if I'm wrong, but using socket-connect with :timeout 0 will > Todd> (virtually) always signal an error, since you'll never get connected > Todd> instantly. (Perhaps you would on loopback.) That is not what I want. > Yes, you're right. But socket-wait doesn't return an error - it polls (and > it's convenient). What if we'll have analog of socket-wait but for client > side - call it, say connect-wait or wait-connect or client-wait... It will > turn blocking off, starts connecting (if connection wasn't started yet), > waits checking whether connection ready and returns nil or t depending on > result. Then socket-connect (when called) checks the status, turns on the > blocking and signals an error or returns stream in full harmony with Lisp > spirit balancing Client and Server sides of Connection... How do you > like it ? Well, I'm not very clear on how your proposal would work. What would you pass to SOCKET-CONNECT to indicate that you want to use whatever it is you get from CLIENT-WAIT? And I don't really want a separate function for the waiting. I want to be able to take <whatever it is> and use in with socket-status, along with all the other open connections my server is processing. What about the idea of having a SOCKET-CONNECT% didn't you like? I don't suppose it makes sense to re-suggest the stuff in: http://www.geocrawler.com/archives/3/1124/2002/1/100/7517822/ does it? Sam already shot that down, but it's another way of dealing with this, as well as providing UDP sockets, unix domain sockets, etc. To tell the truth, I've already implemented most of that locally. It needs some refinement, but works just fine. Todd |