13
« on: April 16, 2008, 02:57:20 PM »
Mark, Here's a log of the my testing. The way it is setup is
that the uTasker task runs every 1 sec. When it sees that a
packet arrived, it sends one back to the server. The uTasker
task sends packets of 12 bytes lengths and the server sends 9 byte lengths. The server sends packets at variable rates from
.1 to about 1 second.
The PARTIAL_ACKS occur at the end of the
log. The PortLen returned was 12, which is the size that was
transmitted out. I stopped the server from sending data at this
point, got a REGEN, resent the data, then got an ACK. My protocol keeps track of packet sequence numbers so I know the
server was never getting an out of order or missed packet up to
this point.
Under normal operations with our protocol, one side would
send a packet, then wait for a response back. One side would
never stream packets like the test server is doing here.
It looks like when the server stopped sending, we finally got the
ACK, instead of partial acks.
Does this make any sense ?
Thanks,
John
0 - fnSetNextIMS_INIT --> OPEN_REQUESTED
0 - fnSetNextIMS Ok
1 - fnIMSListener() Event=CONNECTED State=OPENING
1 - fnSetNextIMS_OPENING --> IDLE
1 - fnSetNextIMS Ok
13 - fnIMSListener() Event=WIN_UPD State=IDLE
13 - fnIMSListener() Event=DATA State=IDLE
13 - fnHandleData() len=9 Offs=0
13 - fnSetNextIMS_IDLE --> PACKET_READY
13 - fnSetNextIMS Ok
13 - fnIMSListener() Event=WIN_UPD State=PACKET_READY
13 - fnIMSListener() Event=DATA State=PACKET_READY
13 - fnHandleData() len=9 Offs=0
13 - fnIMSListener() Event=WIN_UPD State=PACKET_READY
13 - fnIMSListener() Event=DATA State=PACKET_READY
13 - fnHandleData() len=9 Offs=0
13 - fnIMSListener() Event=WIN_UPD State=PACKET_READY
13 - fnIMSListener() Event=DATA State=PACKET_READY
13 - fnHandleData() len=9 Offs=0
13 - fnIMSListener() Event=WIN_UPD State=PACKET_READY
13 - fnIMSListener() Event=DATA State=PACKET_READY
13 - fnHandleData() len=9 Offs=0
13 - fnIMSListener() Event=WIN_UPD State=PACKET_READY
13 - fnIMSListener() Event=DATA State=PACKET_READY
13 - fnHandleData() len=9 Offs=0
13 - fnIMSListener() Event=WIN_UPD State=PACKET_READY
13 - fnIMSListener() Event=DATA State=PACKET_READY
13 - fnHandleData() len=9 Offs=0
14 - setup_sendpkt(), seqnum=0
14 - sendpkt(), sending 12 bytes
14 - send_pkt() sent 12 bytes
14 - fnSetNextIMS_PACKET_READY --> WAIT_ACK
14 - fnSetNextIMS Ok
14 - sendpkt returned 12
14 - fnIMSListener() Event=ACK State=WAIT_ACK
14 - fnSetNextIMS_WAIT_ACK --> IDLE
14 - fnSetNextIMS Ok
14 - fnIMSListener() Event=DATA State=IDLE
14 - fnHandleData() len=9 Offs=0
14 - fnSetNextIMS_IDLE --> PACKET_READY
14 - fnSetNextIMS Ok
14 - fnIMSListener() Event=WIN_UPD State=PACKET_READY
14 - fnIMSListener() Event=DATA State=PACKET_READY
14 - fnHandleData() len=9 Offs=0
14 - fnIMSListener() Event=WIN_UPD State=PACKET_READY
14 - fnIMSListener() Event=DATA State=PACKET_READY
14 - fnHandleData() len=9 Offs=0
14 - fnIMSListener() Event=WIN_UPD State=PACKET_READY
14 - fnIMSListener() Event=DATA State=PACKET_READY
14 - fnHandleData() len=9 Offs=0
14 - fnIMSListener() Event=WIN_UPD State=PACKET_READY
14 - fnIMSListener() Event=DATA State=PACKET_READY
14 - fnHandleData() len=9 Offs=0
14 - fnIMSListener() Event=WIN_UPD State=PACKET_READY
14 - fnIMSListener() Event=DATA State=PACKET_READY
258 - fnIMSListener() Event=WIN_UPD State=IDLE
258 - fnIMSListener() Event=DATA State=IDLE
258 - fnHandleData() len=9 Offs=0
258 - fnSetNextIMS_IDLE --> PACKET_READY
258 - fnSetNextIMS Ok
259 - setup_sendpkt(), seqnum=214
259 - sendpkt(), sending 12 bytes
259 - send_pkt(): fnSendTCP() error
259 - fnSetNextIMS_PACKET_READY --> WAIT_ACK
259 - fnSetNextIMS Ok
259 - sendpkt returned 0
259 - fnIMSListener() Event=REGEN State=WAIT_ACK
259 - send_pkt() sent 12 bytes
259 - fnSetNextIMS_WAIT_ACK --> WAIT_ACK
259 - fnSetNextIMS Ok
259 - fnIMSListener() Event=ACK State=WAIT_ACK
259 - fnSetNextIMS_WAIT_ACK --> IDLE
259 - fnSetNextIMS Ok
259 - fnIMSListener() Event=WIN_UPD State=IDLE
259 - fnIMSListener() Event=DATA State=IDLE
259 - fnHandleData() len=9 Offs=0
259 - fnSetNextIMS_IDLE --> PACKET_READY
259 - fnSetNextIMS Ok
260 - setup_sendpkt(), seqnum=215
260 - sendpkt(), sending 12 bytes
260 - send_pkt() sent 12 bytes
260 - fnSetNextIMS_PACKET_READY --> WAIT_ACK
260 - fnSetNextIMS Ok
260 - sendpkt returned 12
260 - fnIMSListener() Event=ACK State=WAIT_ACK
260 - fnSetNextIMS_WAIT_ACK --> IDLE
260 - fnSetNextIMS Ok
260 - fnIMSListener() Event=WIN_UPD State=IDLE
260 - fnIMSListener() Event=DATA State=IDLE
260 - fnHandleData() len=9 Offs=0
260 - fnSetNextIMS_IDLE --> PACKET_READY
260 - fnSetNextIMS Ok
261 - setup_sendpkt(), seqnum=216
261 - sendpkt(), sending 12 bytes
261 - send_pkt() sent 12 bytes
261 - fnSetNextIMS_PACKET_READY --> WAIT_ACK
261 - fnSetNextIMS Ok
261 - sendpkt returned 12
261 - fnIMSListener() Event=ACK State=WAIT_ACK
261 - fnSetNextIMS_WAIT_ACK --> IDLE
261 - fnSetNextIMS Ok
262 - fnIMSListener() Event=WIN_UPD State=IDLE
262 - fnIMSListener() Event=DATA State=IDLE
262 - fnHandleData() len=9 Offs=0
262 - fnSetNextIMS_IDLE --> PACKET_READY
262 - fnSetNextIMS Ok
263 - setup_sendpkt(), seqnum=217
263 - sendpkt(), sending 12 bytes
263 - send_pkt(): fnSendTCP() error
263 - fnSetNextIMS_PACKET_READY --> WAIT_ACK
263 - fnSetNextIMS Ok
263 - sendpkt returned 0
263 - fnIMSListener() Event=REGEN State=WAIT_ACK
263 - send_pkt() sent 12 bytes
263 - fnSetNextIMS_WAIT_ACK --> WAIT_ACK
263 - fnSetNextIMS Ok
263 - fnIMSListener() Event=ACK State=WAIT_ACK
263 - fnSetNextIMS_WAIT_ACK --> IDLE
263 - fnSetNextIMS Ok
315 - fnIMSListener() Event=WIN_UPD State=IDLE
315 - fnIMSListener() Event=DATA State=IDLE
315 - fnHandleData() len=9 Offs=0
315 - fnSetNextIMS_IDLE --> PACKET_READY
315 - fnSetNextIMS Ok
316 - setup_sendpkt(), seqnum=252
316 - sendpkt(), sending 12 bytes
316 - send_pkt(): fnSendTCP() error
316 - fnSetNextIMS_PACKET_READY --> WAIT_ACK
316 - fnSetNextIMS Ok
316 - sendpkt returned 0
316 - fnIMSListener() Event=PARTIAL_ACK State=WAIT_ACK
316 - fnIMSListener() PortLen=12
316 - fnIMSListener() Event=DATA State=WAIT_ACK
316 - fnHandleData() len=9 Offs=0
318 - fnIMSListener() Event=PARTIAL_ACK State=WAIT_ACK
318 - fnIMSListener() PortLen=12
318 - fnIMSListener() Event=DATA State=WAIT_ACK
318 - fnHandleData() len=9 Offs=0
319 - fnIMSListener() Event=PARTIAL_ACK State=WAIT_ACK
414 - fnIMSListener() Event=PARTIAL_ACK State=WAIT_ACK
414 - fnIMSListener() PortLen=12
414 - fnIMSListener() Event=DATA State=WAIT_ACK
414 - fnHandleData() len=9 Offs=0
415 - fnIMSListener() Event=PARTIAL_ACK State=WAIT_ACK
415 - fnIMSListener() PortLen=12
415 - fnIMSListener() Event=DATA State=WAIT_ACK
415 - fnHandleData() len=9 Offs=0
417 - fnIMSListener() Event=PARTIAL_ACK State=WAIT_ACK
417 - fnIMSListener() PortLen=12
417 - fnIMSListener() Event=DATA State=WAIT_ACK
417 - fnHandleData() len=9 Offs=0
418 - fnIMSListener() Event=PARTIAL_ACK State=WAIT_ACK
418 - fnIMSListener() PortLen=12
418 - fnIMSListener() Event=DATA State=WAIT_ACK
418 - fnHandleData() len=9 Offs=0
421 - fnIMSListener() Event=REGEN State=WAIT_ACK
421 - send_pkt() sent 12 bytes
421 - fnSetNextIMS_WAIT_ACK --> WAIT_ACK
421 - fnSetNextIMS Ok
422 - fnIMSListener() Event=ACK State=WAIT_ACK
422 - fnSetNextIMS_WAIT_ACK --> IDLE
422 - fnSetNextIMS Ok