Skip to content

Commit

Permalink
Use priming in speedtests
Browse files Browse the repository at this point in the history
  • Loading branch information
kauwua committed Sep 6, 2024
1 parent 8385478 commit 7484c03
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
12 changes: 12 additions & 0 deletions test/speedtest_fullspeed.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,18 @@ def handle_data_requested(self, ep):
print(f"sending {len(self.random_buffer)} bytes on {ep}")
self.send(ep.number, self.random_buffer)

def handle_buffer_empty(self, endpoint: USBEndpoint):
""" Handler called when a given endpoint first has an empty buffer.
Often, an empty buffer indicates an opportunity to queue data
for sending ('prime an endpoint'), but doesn't necessarily mean
that the host is planning on reading the data.
This function is called only once per buffer.
"""
print(f"priming {len(self.random_buffer)} bytes on {endpoint}")
self.send(endpoint.number, self.random_buffer)


if __name__ == "__main__":
default_main(USBSpeedtest)
11 changes: 11 additions & 0 deletions test/speedtest_highspeed.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,17 @@ def handle_data_requested(self, ep):
print(f"sending {len(self.random_buffer)} bytes on {ep}")
self.send(ep.number, self.random_buffer)

def handle_buffer_empty(self, endpoint: USBEndpoint):
""" Handler called when a given endpoint first has an empty buffer.
Often, an empty buffer indicates an opportunity to queue data
for sending ('prime an endpoint'), but doesn't necessarily mean
that the host is planning on reading the data.
This function is called only once per buffer.
"""
print(f"priming {len(self.random_buffer)} bytes on {endpoint}")
self.send(endpoint.number, self.random_buffer)

if __name__ == "__main__":
default_main(USBSpeedtest)

0 comments on commit 7484c03

Please sign in to comment.