package luv
Binding to libuv: cross-platform asynchronous I/O
Install
Dune Dependency
Authors
Maintainers
Sources
luv-0.5.14.tar.gz
sha256=8e01b4a50c8876cdd98d8e245c0687c4dc4d883aed161ad9c5ace1fb1fdaae99
doc/index.html
Luv
Luv is a binding to libuv, the cross-platform C library that does asynchronous I/O in Node.js and runs Node's main loop.
let () =
Luv.DNS.getaddrinfo ~family:`INET ~node:"google.com" ~service:"80" ()
begin fun result ->
let address = (List.hd (Result.get_ok result)).addr in
let socket = Luv.TCP.init () |> Result.get_ok in
Luv.TCP.connect socket address begin fun _ ->
Luv.Stream.write socket [Luv.Buffer.from_string "GET / HTTP/1.1\r\n\r\n"]
(fun _ _ -> Luv.Stream.shutdown socket ignore);
Luv.Stream.read_start socket (function
| Error `EOF -> Luv.Handle.close socket ignore
| Error _ -> exit 2
| Ok response -> print_string (Luv.Buffer.to_string response))
end
end;
ignore (Luv.Loop.run () : bool)
This is the auto-generated API reference. For more conceptual information and examples, see:
- Project page
- User guide
- Examples, which are presented in the user guide.
API reference
Basics
Luv.Error
— error handlingLuv.Loop
— event loopsLuv.Buffer
— byte buffersLuv.Handle
— persistent objects (sockets, etc.)Luv.Stream
— base type for TCP sockets, pipes, TTY handlesLuv.Request
— contexts for asynchronous requests
Main interface
Luv.Timer
— timersLuv.Signal
— signalsLuv.Process
— subprocessesLuv.TCP
— TCP socketsLuv.UDP
— UDP socketsLuv.DNS
— DNSLuv.Pipe
— pipesLuv.TTY
— consolesLuv.File
— file operationsLuv.FS_event
— filesystem events
System threads
Luv.Thread_pool
— libuv thread poolLuv.Thread
— general system threadsLuv.TLS
— thread-local storageLuv.Once
— once-only barriersLuv.Mutex
— mutexesLuv.Rwlock
— read-write locksLuv.Semaphore
— semaphoresLuv.Condition
— condition variablesLuv.Barrier
— barriers
Miscellaneous
Luv.Env
— environment variablesLuv.Time
— current timeLuv.Path
— relevant directoriesLuv.Random
— system entropy sourceLuv.Sockaddr
— network addressesLuv.Network
— network interfaces and hostnameLuv.FS_poll
— filesystem pollingLuv.Poll
— file descriptor pollingLuv.Resource
— resource usageLuv.System_info
— system informationLuv.Pid
— process idsLuv.Os_fd
— system file descriptor interopLuv.DLL
— dynamic linkingLuv.Passwd
— current user informationLuv.Async
— inter-loop communicationLuv.Metrics
— loop metricsLuv.Prepare
— pre-I/O callbacksLuv.Check
— post-I/O callbacksLuv.Idle
— per-iteration callbacksLuv.String
— UTF-16 manipulation for WindowsLuv.Version
— libuv versionLuv.Require
— feature checks
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page