Skip to content

Commit

Permalink
Merge pull request #20 from steinwurf/hostname
Browse files Browse the repository at this point in the history
Specify probe port
  • Loading branch information
Anders Aaen Springborg committed Dec 18, 2020
2 parents 9c598d0 + 4c1ba50 commit d7e3df9
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 15 deletions.
2 changes: 1 addition & 1 deletion steinloss/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
__all__ = ("__version__")

__version__ = "0.3.1"
__version__ = "0.3.2"

from .utilities import log
8 changes: 4 additions & 4 deletions steinloss/probe.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
from socket import AF_INET, SOCK_DGRAM
import socket
from socket import AF_INET, SOCK_DGRAM


class Probe:
packet_size = 1024

def __init__(self, server_address, address=('', 7071)):
def __init__(self, server_address, port):
self.window_size = 3
self.lost = 0
self.duplicate = 0
self.reorder = 0
self.sequence_number = None
self.server_to_client_loss = 0
self.suspect = [0] * 5
self.server_address = server_address
self.address = address
self.server_address = (server_address, port)
self.address = ('', port)
self.id = 0
self.sock = socket.socket(SOCK_DGRAM, AF_INET)
self.sock.bind(self.address)
Expand Down
2 changes: 1 addition & 1 deletion steinloss/stein_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def task_factory(options):
if options.server:
return FrontEndAndBackEnd(options.ip_address, options.port, options.speed)
elif options.probe:
return Probe((options.ip_address, options.port))
return Probe(options.ip_address, options.port)
else:
return None

Expand Down
17 changes: 8 additions & 9 deletions tests/test_probe.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,23 @@ class TestProbe:

def test_packet_received_should_increment_id(self, mocker):
mocker.patch('socket.socket')
probe = Probe(('fake_address', 1337))
probe = Probe('fake_address', 1337)

assert probe.id == 0
probe.receive_packet()
assert probe.id == 1

def test_upon_receiving_packet_should_respond_to_server_with_concat_id(self, mocker):
mocker.patch('socket.socket')
probe = Probe(('fake_address', 1337))

probe = Probe('fake_address', 1337)
probe.sock.recv.return_value = '1'.encode()
probe.receive_packet()

probe.sock.sendto.assert_called_once_with('1_0'.encode(), probe.server_address)

def test_is_packet_loss_should_detect_loss_when_the_next_id_is_more_than_three_numbers_higere(self, mocker):
mocker.patch('socket.socket')
probe = Probe(('fake_address', 1337))
probe = Probe('fake_address', 1337)

probe.consume_packet('0')
probe.consume_packet('4')
Expand All @@ -33,7 +32,7 @@ def test_is_packet_loss_should_detect_loss_when_the_next_id_is_more_than_three_n

def test_iterate_through_window_twice_without_loss(self, mocker):
mocker.patch('socket.socket')
probe = Probe(('fake_address', 1337))
probe = Probe('fake_address', 1337)
window_size = 5

for n in range(0, window_size * 2):
Expand All @@ -43,7 +42,7 @@ def test_iterate_through_window_twice_without_loss(self, mocker):

def test_is_packet_loss_should_handle_reordering(self, mocker):
mocker.patch('socket.socket')
probe = Probe(('fake_address', 1337))
probe = Probe('fake_address', 1337)

probe.consume_packet('0')
probe.consume_packet('2')
Expand All @@ -53,7 +52,7 @@ def test_is_packet_loss_should_handle_reordering(self, mocker):

def test_is_packet_loss_should_handle_reordering_down_to_three(self, mocker):
mocker.patch('socket.socket')
probe = Probe(('fake_address', 1337))
probe = Probe('fake_address', 1337)

probe.consume_packet('0')
probe.consume_packet('2')
Expand All @@ -67,7 +66,7 @@ def test_is_packet_loss_should_handle_reordering_down_to_three(self, mocker):

def test_no_packet_loss_inside_window(self, mocker):
mocker.patch('socket.socket')
probe = Probe(('fake_address', 1337))
probe = Probe('fake_address', 1337)

probe.consume_packet('1')
probe.consume_packet('2')
Expand All @@ -76,7 +75,7 @@ def test_no_packet_loss_inside_window(self, mocker):

def test_detect_loss(self, mocker):
mocker.patch('socket.socket')
probe = Probe(('fake_address', 1337))
probe = Probe('fake_address', 1337)

probe.consume_packet('1')
probe.consume_packet('0')
Expand Down

0 comments on commit d7e3df9

Please sign in to comment.