Skip to content
Snippets Groups Projects
Commit d622b698 authored by Martin Hustoles's avatar Martin Hustoles
Browse files

modified sequence diagram

parent bf9f2a3a
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
#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
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment