Hi I want to implement the `onClose' callback invoke for XMLSocket. But I have no idea how to check connection lost.
below is the poorly implementation: qr...@debian:~/temp/gnash-bzr/trunk$ bzr diff === modified file 'libcore/asobj/XMLSocket_as.cpp' --- libcore/asobj/XMLSocket_as.cpp 2009-05-18 14:27:16 +0000 +++ libcore/asobj/XMLSocket_as.cpp 2009-05-21 03:20:30 +0000 @@ -93,6 +93,10 @@ return _complete; } + bool timeout() const { + return _connectionTimeout; + } + void setComplete() { _complete = true; } @@ -139,7 +143,10 @@ } // Return if timed out. - if (ret == 0) return; + if (ret == 0) { + _connectionTimeout = true; + return; + } const size_t bytesRead = read(fd, buf.get(), bufSize - 1); @@ -210,6 +217,8 @@ bool _complete; + bool _connectionTimeout; + std::string _remainder; boost::scoped_ptr<boost::thread> _start; @@ -314,6 +323,13 @@ // Now the connection is established we can receive data. checkForIncomingData(); + + if(ready() && _connection.timeout()) { + log_debug(_("timeout? %s"), _connection.timeout()); + //callMethod(NSV::PROP_ON_CLOSE); + //_vm.getRoot().removeAdvanceCallback(this); + //return; + } } If I know how to check connection lost, to invoke onClose callback correctly is possible.
_______________________________________________ Gnash-dev mailing list Gnash-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-dev