def send(self, data):
while len(self.senders) >= self.window:<EOL><INDENT>pass<EOL><DEDENT>self.senders[self.new_seq_no] = self.Sender(<EOL>self.write,<EOL>self.send_lock,<EOL>data,<EOL>self.new_seq_no,<EOL>timeout=self.sending_timeout,<EOL>callback=self.send_callback,<EOL>)<EOL>self.senders[self.new_seq_no].start()<EOL>self.new_seq_no = (self.new_seq_no + <NUM_LIT:1>) % HDLController.MAX_SEQ_NO<EOL>
Sends a new data frame.

This method will block until a new room is available for
a new sender. This limit is determined by the size of the window.