Packages
gleam_mongo
0.1.2
0.18.1
retired
0.18.0
retired
0.17.0
retired
0.16.0
retired
0.15.1
retired
0.15.0
retired
0.14.0
retired
0.13.0
retired
0.12.0
retired
0.11.0
retired
0.10.0
retired
0.9.0
retired
0.8.0
retired
0.7.0
retired
0.6.0
retired
0.5.0
retired
0.4.0
retired
0.3.0
0.2.0
retired
0.1.3
retired
0.1.2
retired
0.1.1
retired
0.1.0
retired
A mongodb driver for gleam
Retired package: Renamed - Republished as mungo
Current section
Files
Jump to
Current section
Files
src/tcp.gleam
import gleam/int
import gleam/list
import gleam/string
pub external type Socket
pub type TCPResult {
OK
}
type TCPOption {
Binary
Active(Bool)
}
external fn tcp_connect(
#(Int, Int, Int, Int),
Int,
List(TCPOption),
) -> Result(Socket, Nil) =
"gen_tcp" "connect"
external fn tcp_send(Socket, BitString) -> TCPResult =
"gen_tcp" "send"
external fn tcp_receive(Socket, Int) -> Result(BitString, Nil) =
"gen_tcp" "recv"
pub fn connect(host: String, port: Int) {
let [a, b, c, d] =
string.split(host, ".")
|> list.map(fn(i) {
i
|> int.parse
})
|> list.map(fn(i) {
assert Ok(i) = i
i
})
tcp_connect(#(a, b, c, d), port, [Binary, Active(False)])
}
pub fn send(socket, data) {
tcp_send(socket, data)
}
pub fn receive(socket) {
tcp_receive(socket, 0)
}