Skip to content
/ gouring Public

Go io uring syscall implementation without CGO, rewrite on branch v0.4

License

Notifications You must be signed in to change notification settings

ii64/gouring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4937c09 · Oct 12, 2022

History

24 Commits
Jul 28, 2022
Jul 28, 2022
Jul 28, 2022
Sep 4, 2022
Jul 28, 2022
Jul 7, 2022
Jul 4, 2022
Jul 4, 2022
Jul 28, 2022
Jul 4, 2022
Jul 28, 2022
Oct 12, 2022
Jul 28, 2022
Jul 28, 2022
Oct 2, 2022
Oct 12, 2022
Jul 28, 2022
Jul 28, 2022
Jul 4, 2022
Jul 28, 2022
Jul 28, 2022
Oct 2, 2022
Jul 28, 2022
Jul 28, 2022
Oct 12, 2022
Jul 28, 2022
Jul 28, 2022

Repository files navigation

gouring

License: MIT Go Reference

go get github.com/ii64/gouring

Example

// setup
h, err := gouring.New(256, 0)
if err != nil { /*...*/ }
defer h.Close() 

sqe := h.GetSQE()
b := []byte("io_uring!\n")
PrepWrite(sqe, 1, &b[0], len(b), 0)

submitted, err := h.SubmitAndWait(1)
if err != nil { /*...*/ }
println(submitted) // 1

var cqe *gouring.IoUringCqe
err = h.WaitCqe(&cqe) 
if err != nil { /*...*/ } // check also EINTR

_ = cqe.UserData
_ = cqe.Res
_ = cqe.Flags

Graph

SQPOLL non-SQPOLL
sqpoll_fig nonsqpoll_fig

Reference

https://github.com/axboe/liburing

About

Go io uring syscall implementation without CGO, rewrite on branch v0.4

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published