Commit 4ec87313 authored by Andreas Schmidt's avatar Andreas Schmidt

Clean-up Python socket API.

parent 25032ff6
Pipeline #2235 failed with stages
in 52 seconds
...@@ -126,18 +126,35 @@ cdef class PrrtSocket: ...@@ -126,18 +126,35 @@ cdef class PrrtSocket:
cprrt.PrrtSocket_enable_thread_pinning(self._c_socket) cprrt.PrrtSocket_enable_thread_pinning(self._c_socket)
cprrt.PrrtSocket_bind(self._c_socket, host.encode("utf8"), port) cprrt.PrrtSocket_bind(self._c_socket, host.encode("utf8"), port)
property plr_fwd:
# Channel Properties
property data_rate_btl_fwd:
def __get__(self): def __get__(self):
return cprrt.PrrtSocket_get_plr_fwd(self._c_socket) return cprrt.PrrtSocket_get_btlbw_fwd(self._c_socket)
property thread_pinning: property data_rate_btl_back:
def __get__(self): def __get__(self):
return cprrt.PrrtSocket_uses_thread_pinning(self._c_socket) return cprrt.PrrtSocket_get_btlbw_back(self._c_socket)
property rtt_prop_fwd:
def __get__(self):
return cprrt.PrrtSocket_get_rtprop_fwd(self._c_socket) * 0.000001
property loss_rate_fwd:
def __get__(self):
return cprrt.PrrtSocket_get_plr_fwd(self._c_socket)
# Application Properties
property target_delay: property target_delay:
def __get__(self): def __get__(self):
return cprrt.PrrtSocket_get_sock_opt(self._c_socket, "targetdelay") * 0.000001 return cprrt.PrrtSocket_get_sock_opt(self._c_socket, "targetdelay") * 0.000001
# Protocol configuration
property thread_pinning:
def __get__(self):
return cprrt.PrrtSocket_uses_thread_pinning(self._c_socket)
property app_queue_size: property app_queue_size:
def __get__(self): def __get__(self):
return cprrt.PrrtSocket_get_sock_opt(self._c_socket, "app_queue_size") return cprrt.PrrtSocket_get_sock_opt(self._c_socket, "app_queue_size")
...@@ -145,10 +162,6 @@ cdef class PrrtSocket: ...@@ -145,10 +162,6 @@ cdef class PrrtSocket:
def __set__(self, value): def __set__(self, value):
cprrt.PrrtSocket_set_sock_opt(self._c_socket, "app_queue_size", value) cprrt.PrrtSocket_set_sock_opt(self._c_socket, "app_queue_size", value)
property rtt_fwd:
def __get__(self):
return cprrt.PrrtSocket_get_rtprop_fwd(self._c_socket) * 0.000001
property coding_configuration: property coding_configuration:
def __get__(self): def __get__(self):
cdef cprrt.PrrtCodingConfiguration *params = cprrt.PrrtSocket_get_coding_parameters(self._c_socket) cdef cprrt.PrrtCodingConfiguration *params = cprrt.PrrtSocket_get_coding_parameters(self._c_socket)
...@@ -162,22 +175,17 @@ cdef class PrrtSocket: ...@@ -162,22 +175,17 @@ cdef class PrrtSocket:
n_cycle[i] = x n_cycle[i] = x
cprrt.PrrtSocket_set_coding_parameters(self._c_socket, params.k, params.n, c, n_cycle) cprrt.PrrtSocket_set_coding_parameters(self._c_socket, params.k, params.n, c, n_cycle)
property delivery_rate_fwd: # Sending
def __get__(self): def connect(self, address):
return cprrt.PrrtSocket_get_delivery_rate_fwd(self._c_socket) host, port = address
cdef bytes encodedHost = host.encode("utf-8")
property btlbw_fwd: cprrt.PrrtSocket_connect(self._c_socket, encodedHost, port)
def __get__(self):
return cprrt.PrrtSocket_get_btlbw_fwd(self._c_socket)
property btlbw_back: def send(self, data):
def __get__(self): cprrt.PrrtSocket_send(self._c_socket, data, len(data))
return cprrt.PrrtSocket_get_btlbw_back(self._c_socket)
property app_limited:
def __get__(self):
return cprrt.PrrtSocket_get_app_limited(self._c_socket)
# Receiving
def recv(self): def recv(self):
cdef char buffer[65536] cdef char buffer[65536]
cdef int32_t len cdef int32_t len
...@@ -239,13 +247,11 @@ cdef class PrrtSocket: ...@@ -239,13 +247,11 @@ cdef class PrrtSocket:
len = cprrt.PrrtSocket_receive_ordered_timedwait(self._c_socket, <void*> buffer, <sockaddr*> &addr, time_window_us, &deadline_timespec) len = cprrt.PrrtSocket_receive_ordered_timedwait(self._c_socket, <void*> buffer, <sockaddr*> &addr, time_window_us, &deadline_timespec)
return buffer[:len], sockaddr_to_addr_and_port(addr) return buffer[:len], sockaddr_to_addr_and_port(addr)
def connect(self, address):
host, port = address
cdef bytes encodedHost = host.encode("utf-8")
cprrt.PrrtSocket_connect(self._c_socket, encodedHost, port)
def send(self, data): # Internals
cprrt.PrrtSocket_send(self._c_socket, data, len(data)) property app_limited:
def __get__(self):
return cprrt.PrrtSocket_get_app_limited(self._c_socket)
def __dealloc__(self): def __dealloc__(self):
if self._c_socket != NULL: if self._c_socket != NULL:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment