winrio

package
v0.0.20230301 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Rendered for windows/amd64

Index

Constants

View Source
const (
	MsgDontNotify = 1
	MsgDefer      = 2
	MsgWaitAll    = 4
	MsgCommitOnly = 8

	MaxCqSize = 0x8000000
)

Variables

This section is empty.

Functions

func CloseCompletionQueue

func CloseCompletionQueue(cq Cq)

func DequeueCompletion

func DequeueCompletion(cq Cq, results []Result) uint32

func DeregisterBuffer

func DeregisterBuffer(id BufferId)

func Initialize

func Initialize() bool

func Notify

func Notify(cq Cq) error

func ReceiveEx

func ReceiveEx(rq Rq, buf *Buffer, dataBufferCount uint32, localAddress, remoteAddress, controlContext, flags *Buffer, sflags uint32, requestContext uintptr) error

func SendEx

func SendEx(rq Rq, buf *Buffer, dataBufferCount uint32, localAddress, remoteAddress, controlContext, flags *Buffer, sflags uint32, requestContext uintptr) error

func Socket

func Socket(af, typ, proto int32) (windows.Handle, error)

Types

type Buffer

type Buffer struct {
	Id     BufferId
	Offset uint32
	Length uint32
}

type BufferId

type BufferId uintptr

func RegisterBuffer

func RegisterBuffer(buffer []byte) (BufferId, error)

func RegisterPointer

func RegisterPointer(ptr unsafe.Pointer, size uint32) (BufferId, error)

type Cq

type Cq uintptr

func CreateEventCompletionQueue

func CreateEventCompletionQueue(queueSize uint32, event windows.Handle, notifyReset bool) (Cq, error)

func CreateIOCPCompletionQueue

func CreateIOCPCompletionQueue(queueSize uint32, iocp windows.Handle, key uintptr, overlapped *windows.Overlapped) (Cq, error)

func CreatePolledCompletionQueue

func CreatePolledCompletionQueue(queueSize uint32) (Cq, error)

type Result

type Result struct {
	Status           int32
	BytesTransferred uint32
	SocketContext    uint64
	RequestContext   uint64
}

type Rq

type Rq uintptr

func CreateRequestQueue

func CreateRequestQueue(socket windows.Handle, maxOutstandingReceive, maxReceiveDataBuffers, maxOutstandingSend, maxSendDataBuffers uint32, receiveCq, sendCq Cq, socketContext uintptr) (Rq, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL