Packages
gleam_mongo
0.17.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 type Socket
pub type TCPResult {
Ok
}
type TCPOption {
Binary
Active(Bool)
}
pub fn connect(host: String, port: Int) {
tcp_connect(
host
|> string.to_graphemes
|> list.map(fn(char) {
let <<code>> = bit_string.from_string(char)
code
}),
port,
[Binary, Active(False)],
)
}
pub fn send(socket, data) {
tcp_send(socket, data)
}
pub fn receive(socket) {
tcp_receive(socket, 0)
}
@external(erlang, "gen_tcp", "connect")
fn tcp_connect(host: List(Int), port: Int, ops: List(TCPOption)) -> Result(
Socket,
Nil,
)
@external(erlang, "gen_tcp", "send")
fn tcp_send(socket: Socket, data: BitString) -> TCPResult
@external(erlang, "gen_tcp", "recv")
fn tcp_receive(socket: Socket, length: Int) -> Result(BitString, Nil)