Packages
gleam_mongo
0.2.0
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/list
import gleam/string
import gleam/bit_string
pub external type Socket
pub type TCPResult {
OK
}
type TCPOption {
Binary
Active(Bool)
}
external fn tcp_connect(List(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) {
tcp_connect(
host
|> string.to_graphemes
|> list.map(fn(char) {
let <<code>> =
char
|> bit_string.from_string
code
}),
port,
[Binary, Active(False)],
)
}
pub fn send(socket, data) {
tcp_send(socket, data)
}
pub fn receive(socket) {
tcp_receive(socket, 0)
}