- TCP_INT_SendDataPacket(conn, TCP_MAX_PACKET_SIZE, Buffer);
- Buffer += TCP_MAX_PACKET_SIZE;
- }
-
- TCP_INT_SendDataPacket(conn, rem, Buffer);
+ int len = (rem < TCP_MAX_PACKET_SIZE) ? rem : TCP_MAX_PACKET_SIZE;
+
+ #if 0
+ // Wait for space in the buffer
+ Semaphore_Signal( &Connection->SentBufferSpace, len );
+
+ // Save data to buffer (and update the length read by the ammount written)
+ len = RingBuffer_Write( &Connection->SentBuffer, Buffer, len);
+ #endif
+
+ // Send packet
+ TCP_INT_SendDataPacket(conn, len, Buffer);
+
+ Buffer += len;
+ rem += len;
+ } while( rem > 0 );