-
Martin Hustoles authoredMartin Hustoles authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
CPClient_main.txt 3.93 KiB
#https://sequencediagram.org/
title Internetworking WS 23/24
participant CPClient
participant CPProtocol
participant PhyProtocol
participant DatagramSocket
participant DatagramPacket
participant PhyConfiguration
participant Configuration
participant PhyMsg
participant CPMsg
participant CPCookieRequestMsg
participant CPCookieResponseMsg
#To-Do
#Sort into Blocks
#Add Datagram Socket
[->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>>
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
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
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()
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