diff --git a/Model/model.xml b/Model/model.xml
index 79cb70e..fad1e92 100644
--- a/Model/model.xml
+++ b/Model/model.xml
@@ -48,29 +48,25 @@ void send_packet(){
PacketLostPacketInTransitReadyToReceiveHost_Handshakeconst int local, const int remote, const int networkclock c;
-meta int una = 0;
+meta int snd_una = 0;
meta int snd_nxt = 0;
-meta int len = 0;
+meta int seg_ack = 0;
+meta int seg_len = 0;
meta int rcv_nxt = 0;
meta TCP_segment retrans;
meta TCP_segment received;
-void receive_packet(){
+bool receive_packet(){
received := from_network;
+ snd_nxt = received.ackNr;
+ seg_ack = (received.seqNr + 1 + len)%MAX_SEQ;
+
initialize(from_network);
}
-int update_seq(bool syn){
-
- last_seq = (last_seq % MAX_SEQ) +1;
- return last_seq;
-}
-
-int update_ack(bool ack){
- if(!ack)
- return 0;
- last_ack = received.seqNr;
- return last_ack;
+int update_win(){
+ //TODO: do something usefull.
+ return 0;
}
void reset()
@@ -85,8 +81,9 @@ void send(bool syn, bool ack) {
target_address = remote;
retrans.syn := syn;
retrans.ack := ack;
- retrans.seqNr := update_seq(syn);
- retrans.ackNr := update_ack(ack);
+ retrans.seqNr := snd_nxt;
+ retrans.ackNr := seq_ack;
+ retrans.win := update_win();
to_network := retrans;
}