Skip to content

Commit 68cece6

Browse files
committed
add documentation docstring
1 parent 060fa52 commit 68cece6

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

lightbug_http/sys/net.mojo

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ fn getaddrinfo[
8181

8282
@value
8383
struct SysListener:
84+
"""
85+
TCP server that listens for incoming connections.
86+
"""
87+
8488
var fd: c_int
8589
var __addr: TCPAddr
8690

@@ -267,6 +271,15 @@ struct addrinfo_macos(AnAddrInfo):
267271
)
268272

269273
fn get_ip_address(self, host: String) raises -> in_addr:
274+
"""
275+
Get IP address from host.
276+
277+
Args:
278+
host: String - The host to get IP from.
279+
280+
Returns:
281+
UInt32 - The IP address.
282+
"""
270283
var host_ptr = to_char_ptr(host)
271284
var servinfo = Pointer[Self]().alloc(1)
272285
servinfo.store(Self())
@@ -323,6 +336,15 @@ struct addrinfo_unix(AnAddrInfo):
323336
)
324337

325338
fn get_ip_address(self, host: String) raises -> in_addr:
339+
"""
340+
Get IP address from host.
341+
342+
Args:
343+
host: String - The host to get IP from.
344+
345+
Returns:
346+
UInt32 - The IP address.
347+
"""
326348
var host_ptr = to_char_ptr(host)
327349
var servinfo = Pointer[Self]().alloc(1)
328350
servinfo.store(Self())

lightbug_http/sys/server.mojo

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ from lightbug_http.strings import next_line, NetworkType
1212

1313

1414
struct SysServer:
15+
"""
16+
Server that accept request and deliver HTTP services.
17+
"""
18+
1519
var error_handler: ErrorHandler
1620

1721
var name: String
@@ -42,6 +46,13 @@ struct SysServer:
4246
self.ln = SysListener()
4347

4448
fn get_concurrency(self) -> Int:
49+
"""
50+
Get the concurrency level which is either :
51+
The configured max_concurrent_connections or the DefaultConcurrency.
52+
53+
Returns:
54+
Int: concurrency level for the server.
55+
"""
4556
var concurrency = self.max_concurrent_connections
4657
if concurrency <= 0:
4758
concurrency = DefaultConcurrency
@@ -50,11 +61,28 @@ struct SysServer:
5061
fn listen_and_serve[
5162
T: HTTPService
5263
](inout self, address: String, handler: T) raises -> None:
64+
"""
65+
Listen for incoming connections and serve HTTP requests.
66+
67+
Args:
68+
address : String - The address (host:port) to listen on.
69+
handler : HTTPService - An object that handles incoming HTTP requests.
70+
"""
5371
var __net = SysNet()
5472
var listener = __net.listen(NetworkType.tcp4.value, address)
5573
self.serve(listener, handler)
5674

5775
fn serve[T: HTTPService](inout self, ln: SysListener, handler: T) raises -> None:
76+
"""
77+
Serve HTTP requests.
78+
79+
Args:
80+
ln : SysListener - TCP server that listens for incoming connections.
81+
handler : HTTPService - An object that handles incoming HTTP requests.
82+
83+
Raises:
84+
If there is an error while serving requests.
85+
"""
5886
# var max_worker_count = self.get_concurrency()
5987
# TODO: logic for non-blocking read and write here, see for example https://github.com/valyala/fasthttp/blob/9ba16466dfd5d83e2e6a005576ee0d8e127457e2/server.go#L1789
6088

0 commit comments

Comments
 (0)