Changeset 6896409c in mainline for uspace/srv/net/tl/tcp/tqueue.c
- Timestamp:
- 2011-11-21T22:46:37Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1812a0d
- Parents:
- eea65f4
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/tl/tcp/tqueue.c
reea65f4 r6896409c 152 152 size_t data_size; 153 153 tcp_control_t ctrl; 154 bool send_fin; 154 155 155 156 tcp_segment_t *seg; 156 157 157 log_msg(LVL_DEBUG, " tcp_tqueue_new_data()");158 log_msg(LVL_DEBUG, "%s: tcp_tqueue_new_data()", conn->name); 158 159 159 160 /* Number of free sequence numbers in send window */ … … 162 163 163 164 xfer_seqlen = min(snd_buf_seqlen, avail_wnd); 164 log_msg(LVL_DEBUG, " snd_buf_seqlen = %zu, SND.WND = %zu, "165 "xfer_seqlen = %zu", snd_buf_seqlen, conn->snd_wnd,165 log_msg(LVL_DEBUG, "%s: snd_buf_seqlen = %zu, SND.WND = %zu, " 166 "xfer_seqlen = %zu", conn->name, snd_buf_seqlen, conn->snd_wnd, 166 167 xfer_seqlen); 167 168 … … 171 172 /* XXX Do not always send immediately */ 172 173 173 data_size = xfer_seqlen - (conn->snd_buf_fin ? 1 : 0); 174 if (conn->snd_buf_fin && data_size + 1 == xfer_seqlen) { 174 send_fin = conn->snd_buf_fin && xfer_seqlen == snd_buf_seqlen; 175 data_size = xfer_seqlen - (send_fin ? 1 : 0); 176 177 if (send_fin) { 178 log_msg(LVL_DEBUG, "%s: Sending out FIN.", conn->name); 175 179 /* We are sending out FIN */ 176 180 ctrl = CTL_FIN; … … 190 194 conn->snd_buf_used - data_size); 191 195 conn->snd_buf_used -= data_size; 192 conn->snd_buf_fin = false; 196 197 if (send_fin) 198 conn->snd_buf_fin = false; 193 199 194 200 tcp_tqueue_seg(conn, seg); … … 261 267 log_msg(LVL_DEBUG, "SEG.SEQ=%" PRIu32 ", SEG.WND=%" PRIu32, 262 268 seg->seq, seg->wnd); 269 270 tcp_segment_dump(seg); 263 271 /* 264 272 tcp_pdu_prepare(conn, seg, &data, &len);
Note:
See TracChangeset
for help on using the changeset viewer.