TCP socket never read from/written to using Gambit API:s is completely untouched by Gambit so one can do reads&writes directly with OS on them uninterferedly, right?
Dear Marc, If I open a TCP port by either |open-tcp-client|, or by (read (open-tcp-server .. )), and then I just let the object remain referenced to as not to GC and do not perform any Gambit IO operations on them whatsoever except for |port-wait-for-input|, |port-wait-for-output| and |force-output|, then I can do any IO operations on the socket that I want to (i.e. reading and writing) directly with the OS and Gambit will *not* interfere with those by by reading in prebuffering purposes or alike? (I do the direct socket access by extracting the TCP port's socket integer from the port object.) Thanks, Mikael (define (port-wait-for-input port) (##wait-for-io! (device-port-rdevice-condvar port) (port-rtimeout port))) (define (port-wait-for-output port) (##wait-for-io! (device-port-wdevice-condvar port) (port-wtimeout port)))
Afficher les réponses par date
In the case you describe, Gambit will not perform any I/O on the socket. Marc On 2012-11-16, at 3:50 PM, Mikael <mikael.rcv@gmail.com> wrote:
Dear Marc,
If I open a TCP port by either |open-tcp-client|, or by (read (open-tcp-server .. )), and then I just let the object remain referenced to as not to GC and do not perform any Gambit IO operations on them whatsoever except for |port-wait-for-input|, |port-wait-for-output| and |force-output|, then I can do any IO operations on the socket that I want to (i.e. reading and writing) directly with the OS and Gambit will *not* interfere with those by by reading in prebuffering purposes or alike?
(I do the direct socket access by extracting the TCP port's socket integer from the port object.)
Thanks, Mikael
(define (port-wait-for-input port) (##wait-for-io! (device-port-rdevice-condvar port) (port-rtimeout port)))
(define (port-wait-for-output port) (##wait-for-io! (device-port-wdevice-condvar port) (port-wtimeout port)))
participants (2)
-
Marc Feeley -
Mikael