Skip to content

Commit 835a725

Browse files
committed
add network param to udp
1 parent cdf3b06 commit 835a725

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

lightbug_http/connection.mojo

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ struct ListenConfig:
8787
fn __init__(out self, keep_alive: Duration = default_tcp_keep_alive):
8888
self._keep_alive = keep_alive
8989

90-
fn listen[network: NetworkType = NetworkType.tcp4](mut self, address: String) raises -> NoTLSListener:
91-
var local = parse_address(network, address)
92-
var addr = TCPAddr(local[0], local[1])
90+
fn listen[network: NetworkType = NetworkType.tcp4](mut self, address: StringLiteral) raises -> NoTLSListener:
91+
var local = parse_address(network, address.as_bytes())
92+
var addr = TCPAddr(str(local[0]), local[1])
9393
var socket: Socket[TCPAddr]
9494
try:
9595
socket = Socket[TCPAddr]()
@@ -188,10 +188,10 @@ struct TCPConnection:
188188
return self.socket.remote_address()
189189

190190

191-
struct UDPConnection:
192-
var socket: Socket[UDPAddr]
191+
struct UDPConnection[network: NetworkType]:
192+
var socket: Socket[UDPAddr[network]]
193193

194-
fn __init__(out self, owned socket: Socket[UDPAddr]):
194+
fn __init__(out self, owned socket: Socket[UDPAddr[network]]):
195195
self.socket = socket^
196196

197197
fn __moveinit__(out self, owned existing: Self):
@@ -268,10 +268,10 @@ struct UDPConnection:
268268
fn is_closed(self) -> Bool:
269269
return self.socket._closed
270270

271-
fn local_addr(self) -> ref [self.socket._local_address] UDPAddr:
271+
fn local_addr(self) -> ref [self.socket._local_address] UDPAddr[network]:
272272
return self.socket.local_address()
273273

274-
fn remote_addr(self) -> ref [self.socket._remote_address] UDPAddr:
274+
fn remote_addr(self) -> ref [self.socket._remote_address] UDPAddr[network]:
275275
return self.socket.remote_address()
276276

277277
fn create_connection(host: String, port: UInt16) raises -> TCPConnection:
@@ -297,7 +297,7 @@ fn create_connection(host: String, port: UInt16) raises -> TCPConnection:
297297

298298
return TCPConnection(socket^)
299299

300-
fn listen_udp(local_address: UDPAddr) raises -> UDPConnection:
300+
fn listen_udp[network: NetworkType = NetworkType.udp4](local_address: UDPAddr) raises -> UDPConnection[network]:
301301
"""Creates a new UDP listener.
302302
303303
Args:
@@ -309,12 +309,12 @@ fn listen_udp(local_address: UDPAddr) raises -> UDPConnection:
309309
Raises:
310310
Error: If the address is invalid or failed to bind the socket.
311311
"""
312-
var socket = Socket[UDPAddr](socket_type=SOCK_DGRAM)
312+
var socket = Socket[UDPAddr[network]](socket_type=SOCK_DGRAM)
313313
socket.bind(local_address.ip, local_address.port)
314-
return UDPConnection(socket^)
314+
return UDPConnection[network](socket^)
315315

316316

317-
fn listen_udp(local_address: String) raises -> UDPConnection:
317+
fn listen_udp[network: NetworkType = NetworkType.udp4](local_address: StringLiteral) raises -> UDPConnection[network]:
318318
"""Creates a new UDP listener.
319319
320320
Args:
@@ -326,11 +326,11 @@ fn listen_udp(local_address: String) raises -> UDPConnection:
326326
Raises:
327327
Error: If the address is invalid or failed to bind the socket.
328328
"""
329-
var address = parse_address(NetworkType.udp4, local_address)
330-
return listen_udp(UDPAddr(address[0], address[1]))
329+
var address = parse_address(NetworkType.udp4, local_address.as_bytes())
330+
return listen_udp[network](UDPAddr[network](str(address[0]), address[1]))
331331

332332

333-
fn listen_udp(host: String, port: UInt16) raises -> UDPConnection:
333+
fn listen_udp[network: NetworkType = NetworkType.udp4](host: String, port: UInt16) raises -> UDPConnection[network]:
334334
"""Creates a new UDP listener.
335335
336336
Args:
@@ -343,10 +343,10 @@ fn listen_udp(host: String, port: UInt16) raises -> UDPConnection:
343343
Raises:
344344
Error: If the address is invalid or failed to bind the socket.
345345
"""
346-
return listen_udp(UDPAddr(host, port))
346+
return listen_udp[network](UDPAddr[network](host, port))
347347

348348

349-
fn dial_udp(local_address: UDPAddr) raises -> UDPConnection:
349+
fn dial_udp[network: NetworkType = NetworkType.udp4](local_address: UDPAddr[network]) raises -> UDPConnection[network]:
350350
"""Connects to the address on the named network. The network must be "udp", "udp4", or "udp6".
351351
352352
Args:
@@ -358,10 +358,10 @@ fn dial_udp(local_address: UDPAddr) raises -> UDPConnection:
358358
Raises:
359359
Error: If the network type is not supported or failed to connect to the address.
360360
"""
361-
return UDPConnection(Socket[UDPAddr](local_address=local_address, socket_type=SOCK_DGRAM))
361+
return UDPConnection(Socket[UDPAddr[network]](local_address=local_address, socket_type=SOCK_DGRAM))
362362

363363

364-
fn dial_udp(network: NetworkType, local_address: String) raises -> UDPConnection:
364+
fn dial_udp[network: NetworkType = NetworkType.udp4](local_address: StringLiteral) raises -> UDPConnection[network]:
365365
"""Connects to the address on the named network. The network must be "udp", "udp4", or "udp6".
366366
367367
Args:
@@ -373,11 +373,11 @@ fn dial_udp(network: NetworkType, local_address: String) raises -> UDPConnection
373373
Raises:
374374
Error: If the network type is not supported or failed to connect to the address.
375375
"""
376-
var address = parse_address(network, local_address)
377-
return dial_udp(UDPAddr(network, address[0], address[1]))
376+
var address = parse_address(network, local_address.as_bytes())
377+
return dial_udp[network](UDPAddr[network](str(address[0]), address[1]))
378378

379379

380-
fn dial_udp(host: String, port: UInt16) raises -> UDPConnection:
380+
fn dial_udp[network: NetworkType = NetworkType.udp4](host: String, port: UInt16) raises -> UDPConnection[network]:
381381
"""Connects to the address on the udp network.
382382
383383
Args:
@@ -390,4 +390,4 @@ fn dial_udp(host: String, port: UInt16) raises -> UDPConnection:
390390
Raises:
391391
Error: If failed to connect to the address.
392392
"""
393-
return dial_udp(UDPAddr(host, port))
393+
return dial_udp[network](UDPAddr[network](host, port))

0 commit comments

Comments
 (0)