]> git.seodisparate.com - UDPConnection/commitdiff
Client on connect fail now returns FAIL_CONNECT
authorStephen Seo <seo.disparate@gmail.com>
Sun, 5 Jan 2020 05:49:37 +0000 (14:49 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Sun, 5 Jan 2020 05:49:37 +0000 (14:49 +0900)
Previously, returned event was DISCONNECT. FAIL_CONNECT is a new event
enum value.

src/UDPConnection.cpp
src/UDPConnection.h
src/test/UDPC_NetworkTest.c

index 15ec54f0d95bd8e5113ab149f142e48f8cdb476a..73a8fe8931f74975c9595ffcd5638a1bbb1233ca 100644 (file)
@@ -478,8 +478,13 @@ void UDPC::Context::update_impl() {
                 idMap.erase(cIter->second.id);
             }
             if(isReceivingEvents.load()) {
-                externalEvents.push(UDPC_Event{
-                    UDPC_ET_DISCONNECTED, *iter, false});
+                if(flags.test(1) && !cIter->second.flags.test(4)) {
+                    externalEvents.push(UDPC_Event{
+                        UDPC_ET_FAIL_CONNECT, *iter, false});
+                } else {
+                    externalEvents.push(UDPC_Event{
+                        UDPC_ET_DISCONNECTED, *iter, false});
+                }
             }
 
             conMap.erase(cIter);
index 290365dde80cf810d7f06b91708040239d62bd85..f516dd76624c51400bb0dce63eaf57c4a804861e 100644 (file)
@@ -195,6 +195,7 @@ typedef enum {
     UDPC_ET_REQUEST_DISCONNECT,
     UDPC_ET_CONNECTED,
     UDPC_ET_DISCONNECTED,
+    UDPC_ET_FAIL_CONNECT,
     UDPC_ET_GOOD_MODE,
     UDPC_ET_BAD_MODE
 } UDPC_EventType;
index 0a64070c6b2929334a9728f308e33b27b26fef12..3f072cc0cfcf6d6ead2f7db5443fd4a3ef0b7a2a 100644 (file)
@@ -324,6 +324,9 @@ int main(int argc, char **argv) {
             case UDPC_ET_DISCONNECTED:
                 typeString = "DISCONNECTED";
                 break;
+            case UDPC_ET_FAIL_CONNECT:
+                typeString = "FAIL_CONNECT";
+                break;
             case UDPC_ET_GOOD_MODE:
                 typeString = "GOOD_MODE";
                 break;