From d622b698953b49db7b91fc1363d01ad18ee30aba Mon Sep 17 00:00:00 2001
From: Martin Hustoles <martin.hustoles@student.reutlingen-university.de>
Date: Sat, 4 Nov 2023 02:25:03 +0100
Subject: [PATCH] modified sequence diagram

---
 CPClient_main.txt                |  85 ++++++++++++++++++++++---
 CPClient_main_old.txt            | 106 +++++++++++++++++++++++++++++++
 src/main/java/cp/CPProtocol.java |   3 +
 3 files changed, 186 insertions(+), 8 deletions(-)
 create mode 100644 CPClient_main_old.txt

diff --git a/CPClient_main.txt b/CPClient_main.txt
index 5111393..f0f86aa 100644
--- a/CPClient_main.txt
+++ b/CPClient_main.txt
@@ -2,29 +2,40 @@
 title Internetworking WS 23/24
 
 participant CPClient
-participant PhyProtocol
 participant CPProtocol
+participant PhyProtocol
+
+participant DatagramSocket
+
+participant DatagramPacket
+
 participant PhyConfiguration
+
 participant Configuration
-participant CPCookieRequestMsg
-participant CPMsg
 participant PhyMsg
-participant CPCookieResponseMsg
+participant CPMsg
 
-#Questions to Schöller
-#Timeout Delay? (e.g at receive)
-#Classes without Constructor? (e.g at line 60 in CPProtocol)
+participant CPCookieRequestMsg
+
+participant CPCookieResponseMsg
+participant Protocol
 
 #To-Do
 #Sort into Blocks
 #Add Datagram Socket
 
+participant [
+
 [->CPClient:main
 activate CPClient
 
 #Initializing PhyProtocol with everything in it
 CPClient->PhyProtocol:<<create>>
 activate PhyProtocol
+PhyProtocol->DatagramSocket:<<create>>
+activate DatagramSocket
+DatagramSocket-->PhyProtocol:
+deactivate DatagramSocket
 PhyProtocol-->CPClient:
 deactivate PhyProtocol
 CPClient->CPProtocol:<<create>>
@@ -45,6 +56,14 @@ CPClient->CPProtocol:send()
 activate CPProtocol
 CPProtocol->CPProtocol:requestCookie()
 activate CPProtocol
+CPProtocol->CPCookieRequestMsg:<<create>>
+activate CPCookieRequestMsg
+CPCookieRequestMsg->CPMsg:<<create>>
+activate CPMsg
+CPMsg-->CPCookieRequestMsg:
+deactivate CPMsg
+CPCookieRequestMsg-->CPProtocol:
+deactivate CPCookieRequestMsg
 CPProtocol->CPCookieRequestMsg:create()
 activate CPCookieRequestMsg
 CPCookieRequestMsg->CPMsg:create()
@@ -67,29 +86,79 @@ PhyMsg-->PhyProtocol:
 deactivate PhyMsg
 PhyProtocol->PhyProtocol:send()
 activate PhyProtocol
+PhyProtocol->DatagramPacket:<<create>>
+activate DatagramPacket
+DatagramPacket-->PhyProtocol:
+deactivate DatagramPacket
+PhyProtocol->DatagramSocket:send()
+activate DatagramSocket
+DatagramSocket-->PhyProtocol:
+deactivate DatagramSocket
 space
 deactivate PhyProtocol
 PhyProtocol-->CPProtocol:
 deactivate PhyProtocol
 
 #Receive with Timeout
+CPProtocol->CPMsg:<<create>>
+activate CPMsg
+CPMsg-->CPProtocol:
+deactivate CPMsg
 CPProtocol->PhyProtocol:receive
 activate PhyProtocol
+PhyProtocol->DatagramSocket:setSoTimeout()
+activate DatagramSocket
+DatagramSocket-->PhyProtocol:
+deactivate DatagramSocket
 PhyProtocol->PhyProtocol:receive
 activate PhyProtocol
+PhyProtocol->DatagramPacket:<<create>>
+activate DatagramPacket
+DatagramPacket-->PhyProtocol:
+deactivate DatagramPacket
+
+PhyProtocol->DatagramSocket:receive()
+activate DatagramSocket
+DatagramSocket-->PhyProtocol:
+deactivate DatagramSocket
+PhyProtocol->PhyMsg:<<create>>
+activate PhyMsg
+PhyMsg-->PhyProtocol:
+deactivate PhyMsg
+PhyProtocol->PhyMsg:parse()
+activate PhyMsg
+PhyMsg-->PhyProtocol:
+deactivate PhyMsg
+PhyProtocol->PhyConfiguration:<<create>>
+activate PhyConfiguration
+PhyConfiguration-->PhyProtocol:
+deactivate PhyConfiguration
+
+PhyProtocol->PhyMsg:setConfiguration()
+activate PhyMsg
+PhyMsg-->PhyProtocol:
+deactivate PhyMsg
 space
 deactivate PhyProtocol
+PhyProtocol->DatagramSocket:setTimeout()
+activate DatagramSocket
+DatagramSocket-->PhyProtocol:
+deactivate DatagramSocket
 PhyProtocol-->CPProtocol:
 deactivate PhyProtocol
 
 #Creates Cookie Response Msg
 CPProtocol->CPMsg:parse()
 activate CPMsg
+CPCookieRequestMsg<-CPMsg:<<create>>
+activate CPCookieRequestMsg
+CPCookieRequestMsg-->CPMsg:
+deactivate CPCookieRequestMsg
 CPMsg->CPCookieResponseMsg:<<create>>
 activate CPCookieResponseMsg
 CPCookieResponseMsg-->CPMsg:
 deactivate CPCookieResponseMsg
-CPMsg->CPMsg:parse
+CPMsg->CPMsg:parse()
 activate CPMsg
 space
 deactivate CPMsg
diff --git a/CPClient_main_old.txt b/CPClient_main_old.txt
new file mode 100644
index 0000000..5111393
--- /dev/null
+++ b/CPClient_main_old.txt
@@ -0,0 +1,106 @@
+#https://sequencediagram.org/
+title Internetworking WS 23/24
+
+participant CPClient
+participant PhyProtocol
+participant CPProtocol
+participant PhyConfiguration
+participant Configuration
+participant CPCookieRequestMsg
+participant CPMsg
+participant PhyMsg
+participant CPCookieResponseMsg
+
+#Questions to Schöller
+#Timeout Delay? (e.g at receive)
+#Classes without Constructor? (e.g at line 60 in CPProtocol)
+
+#To-Do
+#Sort into Blocks
+#Add Datagram Socket
+
+[->CPClient:main
+activate CPClient
+
+#Initializing PhyProtocol with everything in it
+CPClient->PhyProtocol:<<create>>
+activate PhyProtocol
+PhyProtocol-->CPClient:
+deactivate PhyProtocol
+CPClient->CPProtocol:<<create>>
+activate CPProtocol
+CPProtocol->PhyConfiguration:<<create>>
+activate PhyConfiguration
+PhyConfiguration->Configuration:<<create>>
+activate Configuration
+Configuration-->PhyConfiguration:
+deactivate Configuration
+PhyConfiguration-->CPProtocol:
+deactivate PhyConfiguration
+CPProtocol-->CPClient:
+deactivate CPProtocol
+
+#Sending message from User Input
+CPClient->CPProtocol:send()
+activate CPProtocol
+CPProtocol->CPProtocol:requestCookie()
+activate CPProtocol
+CPProtocol->CPCookieRequestMsg:create()
+activate CPCookieRequestMsg
+CPCookieRequestMsg->CPMsg:create()
+activate CPMsg
+CPMsg-->CPCookieRequestMsg:
+deactivate CPMsg
+CPCookieRequestMsg-->CPProtocol:
+deactivate CPCookieRequestMsg
+
+#calling send() in requestCookie()
+CPProtocol->PhyProtocol:send()
+activate PhyProtocol
+PhyProtocol->PhyMsg:<<create>>
+activate PhyMsg
+PhyMsg-->PhyProtocol:
+deactivate PhyMsg
+PhyProtocol-->PhyMsg:create()
+activate PhyMsg
+PhyMsg-->PhyProtocol:
+deactivate PhyMsg
+PhyProtocol->PhyProtocol:send()
+activate PhyProtocol
+space
+deactivate PhyProtocol
+PhyProtocol-->CPProtocol:
+deactivate PhyProtocol
+
+#Receive with Timeout
+CPProtocol->PhyProtocol:receive
+activate PhyProtocol
+PhyProtocol->PhyProtocol:receive
+activate PhyProtocol
+space
+deactivate PhyProtocol
+PhyProtocol-->CPProtocol:
+deactivate PhyProtocol
+
+#Creates Cookie Response Msg
+CPProtocol->CPMsg:parse()
+activate CPMsg
+CPMsg->CPCookieResponseMsg:<<create>>
+activate CPCookieResponseMsg
+CPCookieResponseMsg-->CPMsg:
+deactivate CPCookieResponseMsg
+CPMsg->CPMsg:parse
+activate CPMsg
+space
+deactivate CPMsg
+CPMsg-->CPProtocol:
+deactivate CPMsg
+space
+deactivate CPProtocol
+CPProtocol-->CPClient:
+
+deactivate CPProtocol
+CPClient->CPProtocol:receive
+activate CPProtocol
+CPProtocol-->CPClient:
+deactivate CPProtocol
diff --git a/src/main/java/cp/CPProtocol.java b/src/main/java/cp/CPProtocol.java
index 66e0f5e..fc58dad 100644
--- a/src/main/java/cp/CPProtocol.java
+++ b/src/main/java/cp/CPProtocol.java
@@ -37,11 +37,14 @@ public class CPProtocol extends Protocol {
     }
     @Override
     public void send(String s, Configuration config) throws IOException, IWProtocolException {
+
         if (cookie == null) {
             // Request a new cookie from server
             // Either updates the cookie attribute or returns with an exception
             requestCookie(0);
         }
+
+
     }
 
     @Override
-- 
GitLab