etch-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vei...@apache.org
Subject svn commit: r1679590 - in /etch/trunk/binding-cpp/runtime: include/transport/EtchTcpListener.h src/main/transport/EtchTcpListener.cpp
Date Fri, 15 May 2015 15:08:29 GMT
Author: veithm
Date: Fri May 15 15:08:29 2015
New Revision: 1679590

URL: http://svn.apache.org/r1679590
Log:
Add notification signaling tcp listener shutdown

The newly added signal informs all open connections that the listener
is about the close.
This is especially useful in order to shut down all connections gracefully.

Change-Id: Ie52a89d2d5671034ec62a02654351dd240302f2d

Modified:
    etch/trunk/binding-cpp/runtime/include/transport/EtchTcpListener.h
    etch/trunk/binding-cpp/runtime/src/main/transport/EtchTcpListener.cpp

Modified: etch/trunk/binding-cpp/runtime/include/transport/EtchTcpListener.h
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/include/transport/EtchTcpListener.h?rev=1679590&r1=1679589&r2=1679590&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/include/transport/EtchTcpListener.h (original)
+++ etch/trunk/binding-cpp/runtime/include/transport/EtchTcpListener.h Fri May 15 15:08:29
2015
@@ -124,7 +124,7 @@ public:
   const static EtchString& BACKLOG();
 
   const static EtchString& CONNECTION_CHECK();
-
+  const static EtchString& CONNECTION_SHUTDOWN();
 private:
   class ConnectionChecker : public capu::Runnable {
   public:

Modified: etch/trunk/binding-cpp/runtime/src/main/transport/EtchTcpListener.cpp
URL: http://svn.apache.org/viewvc/etch/trunk/binding-cpp/runtime/src/main/transport/EtchTcpListener.cpp?rev=1679590&r1=1679589&r2=1679590&view=diff
==============================================================================
--- etch/trunk/binding-cpp/runtime/src/main/transport/EtchTcpListener.cpp (original)
+++ etch/trunk/binding-cpp/runtime/src/main/transport/EtchTcpListener.cpp Fri May 15 15:08:29
2015
@@ -36,6 +36,13 @@ void EtchTcpListener::ConnectionChecker:
       capu::Thread::Sleep(1000);
     }
   }
+  if (mListener->mSession != NULL) {
+      result = mListener->mSession->sessionNotify(new EtchString(EtchTcpListener::CONNECTION_SHUTDOWN()));
+      if (result != ETCH_OK) {
+          //TODO handle error
+      }
+  }
+
 }
 
 const EtchString& EtchTcpListener::BACKLOG() {
@@ -48,6 +55,11 @@ const EtchString& EtchTcpListener::CONNE
   return name;
 }
 
+const EtchString& EtchTcpListener::CONNECTION_SHUTDOWN() {
+    static const EtchString name("connection.shutdown");
+    return name;
+}
+
 EtchTcpListener::EtchTcpListener(EtchRuntime* runtime, EtchURL *url)
 : mRuntime(runtime), mPort(url->getPort()) {
   EtchString str;



Mime
View raw message