Merge pull request #645 from spongehah/refactor/c-libuv-remove-go-wrapper
refactor(c-libuv): Added TODO(uid) comment & adjusted the position of Handle, Stream, Req, Write, Connect
This commit is contained in:
@@ -11,8 +11,6 @@ import (
|
|||||||
var DEFAULT_PORT c.Int = 8080
|
var DEFAULT_PORT c.Int = 8080
|
||||||
var DEFAULT_BACKLOG c.Int = 128
|
var DEFAULT_BACKLOG c.Int = 128
|
||||||
|
|
||||||
var loop *libuv.Loop
|
|
||||||
|
|
||||||
type WriteReq struct {
|
type WriteReq struct {
|
||||||
Req libuv.Write
|
Req libuv.Write
|
||||||
Buf libuv.Buf
|
Buf libuv.Buf
|
||||||
@@ -20,7 +18,7 @@ type WriteReq struct {
|
|||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
// Initialize the default event loop
|
// Initialize the default event loop
|
||||||
loop = libuv.DefaultLoop()
|
var loop = libuv.DefaultLoop()
|
||||||
|
|
||||||
// Initialize a TCP server
|
// Initialize a TCP server
|
||||||
var server libuv.Tcp
|
var server libuv.Tcp
|
||||||
@@ -105,7 +103,7 @@ func OnNewConnection(server *libuv.Stream, status c.Int) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Initialize the client TCP handle.
|
// Initialize the client TCP handle.
|
||||||
if libuv.InitTcp(loop, client) < 0 {
|
if libuv.InitTcp(libuv.DefaultLoop(), client) < 0 {
|
||||||
c.Fprintf(c.Stderr, c.Str("Failed to initialize client\n"))
|
c.Fprintf(c.Stderr, c.Str("Failed to initialize client\n"))
|
||||||
c.Free(c.Pointer(client))
|
c.Free(c.Pointer(client))
|
||||||
return
|
return
|
||||||
|
|||||||
218
c/libuv/libuv.go
218
c/libuv/libuv.go
@@ -97,44 +97,16 @@ type Loop struct {
|
|||||||
Unused [0]byte
|
Unused [0]byte
|
||||||
}
|
}
|
||||||
|
|
||||||
type Handle struct {
|
|
||||||
Unused [96]byte
|
|
||||||
}
|
|
||||||
|
|
||||||
type Stream struct {
|
|
||||||
Unused [264]byte
|
|
||||||
}
|
|
||||||
|
|
||||||
type Poll struct {
|
type Poll struct {
|
||||||
Unused [0]byte
|
Unused [0]byte
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Request types. */
|
/* Request types. */
|
||||||
|
|
||||||
type Req struct {
|
|
||||||
Unused [0]byte
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetAddrInfo struct {
|
|
||||||
Unused [0]byte
|
|
||||||
}
|
|
||||||
|
|
||||||
type GetNameInfo struct {
|
|
||||||
Unused [0]byte
|
|
||||||
}
|
|
||||||
|
|
||||||
type Shutdown struct {
|
type Shutdown struct {
|
||||||
Unused [0]byte
|
Unused [0]byte
|
||||||
}
|
}
|
||||||
|
|
||||||
type Write struct {
|
|
||||||
Unused [192]byte
|
|
||||||
}
|
|
||||||
|
|
||||||
type Connect struct {
|
|
||||||
Unused [0]byte
|
|
||||||
}
|
|
||||||
|
|
||||||
type Buf struct {
|
type Buf struct {
|
||||||
Base *c.Char
|
Base *c.Char
|
||||||
Len uintptr
|
Len uintptr
|
||||||
@@ -157,21 +129,12 @@ type FreeFunc func(ptr c.Pointer)
|
|||||||
// llgo:type C
|
// llgo:type C
|
||||||
type AllocCb func(handle *Handle, suggestedSize uintptr, buf *Buf)
|
type AllocCb func(handle *Handle, suggestedSize uintptr, buf *Buf)
|
||||||
|
|
||||||
// llgo:type C
|
|
||||||
type ReadCb func(stream *Stream, nread c.Long, buf *Buf)
|
|
||||||
|
|
||||||
// llgo:type C
|
|
||||||
type WriteCb func(req *Write, status c.Int)
|
|
||||||
|
|
||||||
// llgo:type C
|
// llgo:type C
|
||||||
type GetaddrinfoCb func(req *GetAddrInfo, status c.Int, res *net.AddrInfo)
|
type GetaddrinfoCb func(req *GetAddrInfo, status c.Int, res *net.AddrInfo)
|
||||||
|
|
||||||
// llgo:type C
|
// llgo:type C
|
||||||
type GetnameinfoCb func(req *GetNameInfo, status c.Int, hostname *c.Char, service *c.Char)
|
type GetnameinfoCb func(req *GetNameInfo, status c.Int, hostname *c.Char, service *c.Char)
|
||||||
|
|
||||||
// llgo:type C
|
|
||||||
type ConnectionCb func(server *Stream, status c.Int)
|
|
||||||
|
|
||||||
// llgo:type C
|
// llgo:type C
|
||||||
type ShutdownCb func(req *Shutdown, status c.Int)
|
type ShutdownCb func(req *Shutdown, status c.Int)
|
||||||
|
|
||||||
@@ -204,170 +167,6 @@ func (shutdown *Shutdown) Shutdown(stream *Stream, shutdownCb ShutdownCb) c.Int
|
|||||||
|
|
||||||
// ----------------------------------------------
|
// ----------------------------------------------
|
||||||
|
|
||||||
/* Handle related function and method */
|
|
||||||
|
|
||||||
// llgo:link (*Handle).Ref C.uv_ref
|
|
||||||
func (handle *Handle) Ref() {}
|
|
||||||
|
|
||||||
// llgo:link (*Handle).Unref C.uv_unref
|
|
||||||
func (handle *Handle) Unref() {}
|
|
||||||
|
|
||||||
// llgo:link (*Handle).HasRef C.uv_has_ref
|
|
||||||
func (handle *Handle) HasRef() c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
//go:linkname HandleSize C.uv_handle_size
|
|
||||||
func HandleSize(handleType HandleType) uintptr
|
|
||||||
|
|
||||||
// llgo:link (*Handle).GetType C.uv_handle_get_type
|
|
||||||
func (handle *Handle) GetType() HandleType {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
//go:linkname HandleTypeName C.uv_handle_type_name
|
|
||||||
func HandleTypeName(handleType HandleType) *c.Char
|
|
||||||
|
|
||||||
// llgo:link (*Handle).GetData C.uv_handle_get_data
|
|
||||||
func (handle *Handle) GetData() c.Pointer {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Handle).GetLoop C.uv_handle_get_loop
|
|
||||||
func (handle *Handle) GetLoop() *Loop {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Handle).SetData C.uv_handle_set_data
|
|
||||||
func (handle *Handle) SetData(data c.Pointer) {}
|
|
||||||
|
|
||||||
// llgo:link (*Handle).IsActive C.uv_is_active
|
|
||||||
func (handle *Handle) IsActive() c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Handle).Close C.uv_close
|
|
||||||
func (handle *Handle) Close(closeCb CloseCb) {}
|
|
||||||
|
|
||||||
// llgo:link (*Handle).SendBufferSize C.uv_send_buffer_size
|
|
||||||
func (handle *Handle) SendBufferSize(value *c.Int) c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Handle).RecvBufferSize C.uv_recv_buffer_size
|
|
||||||
func (handle *Handle) RecvBufferSize(value *c.Int) c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Handle).Fileno C.uv_fileno
|
|
||||||
func (handle *Handle) Fileno(fd *OsFd) c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
//go:linkname Pipe C.uv_pipe
|
|
||||||
func Pipe(fds [2]File, readFlags c.Int, writeFlags c.Int) c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
//go:linkname Socketpair C.uv_socketpair
|
|
||||||
func Socketpair(_type c.Int, protocol c.Int, socketVector [2]OsSock, flag0 c.Int, flag1 c.Int) c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Handle).IsClosing C.uv_is_closing
|
|
||||||
func (handle *Handle) IsClosing() c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// ----------------------------------------------
|
|
||||||
|
|
||||||
/* Req related function and method */
|
|
||||||
|
|
||||||
//go:linkname ReqSize C.uv_req_size
|
|
||||||
func ReqSize(reqType ReqType) uintptr
|
|
||||||
|
|
||||||
// llgo:link (*Req).GetData C.uv_req_get_data
|
|
||||||
func (req *Req) GetData() c.Pointer {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Req).SetData C.uv_handle_set_data
|
|
||||||
func (req *Req) SetData(data c.Pointer) {}
|
|
||||||
|
|
||||||
// llgo:link (*Req).GetType C.uv_req_get_type
|
|
||||||
func (req *Req) GetType() ReqType {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
//go:linkname TypeName C.uv_req_type_name
|
|
||||||
func TypeName(reqType ReqType) *c.Char
|
|
||||||
|
|
||||||
// ----------------------------------------------
|
|
||||||
|
|
||||||
/* Stream related function and method */
|
|
||||||
|
|
||||||
// llgo:link (*Stream).GetWriteQueueSize C.uv_stream_get_write_queue_size
|
|
||||||
func (stream *Stream) GetWriteQueueSize() uintptr {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Stream).Listen C.uv_listen
|
|
||||||
func (stream *Stream) Listen(backlog c.Int, connectionCb ConnectionCb) c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Stream).Accept C.uv_accept
|
|
||||||
func (server *Stream) Accept(client *Stream) c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Stream).StartRead C.uv_read_start
|
|
||||||
func (stream *Stream) StartRead(allocCb AllocCb, readCb ReadCb) c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Stream).StopRead C.uv_read_stop
|
|
||||||
func (stream *Stream) StopRead() c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Write).Write C.uv_write
|
|
||||||
func (req *Write) Write(stream *Stream, bufs *Buf, nbufs c.Uint, writeCb WriteCb) c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Write).Write2 C.uv_write2
|
|
||||||
func (req *Write) Write2(stream *Stream, bufs *Buf, nbufs c.Uint, sendStream *Stream, writeCb WriteCb) c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Stream).TryWrite C.uv_try_write
|
|
||||||
func (stream *Stream) TryWrite(bufs *Buf, nbufs c.Uint) c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Stream).TryWrite2 C.uv_try_write2
|
|
||||||
func (stream *Stream) TryWrite2(bufs *Buf, nbufs c.Uint, sendStream *Stream) c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Stream).IsReadable C.uv_is_readable
|
|
||||||
func (stream *Stream) IsReadable() c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Stream).IsWritable C.uv_is_writable
|
|
||||||
func (stream *Stream) IsWritable() c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// llgo:link (*Stream).SetBlocking C.uv_stream_set_blocking
|
|
||||||
func (stream *Stream) SetBlocking(blocking c.Int) c.Int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// ----------------------------------------------
|
|
||||||
|
|
||||||
/* Loop related functions and method. */
|
/* Loop related functions and method. */
|
||||||
|
|
||||||
//go:linkname LoopSize C.uv_loop_size
|
//go:linkname LoopSize C.uv_loop_size
|
||||||
@@ -437,20 +236,3 @@ func PollStop(handle *Poll) c.Int
|
|||||||
|
|
||||||
//go:linkname PollInitSocket C.uv_poll_init_socket
|
//go:linkname PollInitSocket C.uv_poll_init_socket
|
||||||
func PollInitSocket(loop *Loop, handle *Poll, socket c.Int) c.Int
|
func PollInitSocket(loop *Loop, handle *Poll, socket c.Int) c.Int
|
||||||
|
|
||||||
// ----------------------------------------------
|
|
||||||
|
|
||||||
/* Getaddrinfo related function and method */
|
|
||||||
|
|
||||||
//go:linkname Getaddrinfo C.uv_getaddrinfo
|
|
||||||
func Getaddrinfo(loop *Loop, req *GetAddrInfo, getaddrinfoCb GetaddrinfoCb, node *c.Char, service *c.Char, hints *net.AddrInfo) c.Int
|
|
||||||
|
|
||||||
//go:linkname Freeaddrinfo C.uv_freeaddrinfo
|
|
||||||
func Freeaddrinfo(addrInfo *net.AddrInfo)
|
|
||||||
|
|
||||||
// ----------------------------------------------
|
|
||||||
|
|
||||||
/* Getnameinfo related function and method */
|
|
||||||
|
|
||||||
//go:linkname Getnameinfo C.uv_getnameinfo
|
|
||||||
func Getnameinfo(loop *Loop, req *GetNameInfo, getnameinfoCb GetnameinfoCb, addr *net.SockAddr, flags c.Int) c.Int
|
|
||||||
|
|||||||
230
c/libuv/net.go
230
c/libuv/net.go
@@ -65,8 +65,22 @@ type UdpFlags c.Int
|
|||||||
|
|
||||||
/* Handle types. */
|
/* Handle types. */
|
||||||
|
|
||||||
|
// TODO(spongehah): Handle
|
||||||
|
type Handle struct {
|
||||||
|
Data c.Pointer
|
||||||
|
Unused [88]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO(spongehah): Stream
|
||||||
|
type Stream struct {
|
||||||
|
Data c.Pointer
|
||||||
|
Unused [256]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO(spongehah): Tcp
|
||||||
type Tcp struct {
|
type Tcp struct {
|
||||||
Unused [264]byte
|
Data c.Pointer
|
||||||
|
Unused [256]byte
|
||||||
}
|
}
|
||||||
|
|
||||||
type Udp struct {
|
type Udp struct {
|
||||||
@@ -75,10 +89,34 @@ type Udp struct {
|
|||||||
|
|
||||||
/* Request types. */
|
/* Request types. */
|
||||||
|
|
||||||
|
type Req struct {
|
||||||
|
Unused [0]byte
|
||||||
|
}
|
||||||
|
|
||||||
type UdpSend struct {
|
type UdpSend struct {
|
||||||
Unused [0]byte
|
Unused [0]byte
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO(spongehah): Write
|
||||||
|
type Write struct {
|
||||||
|
Data c.Pointer
|
||||||
|
Unused [184]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO(spongehah): Connect
|
||||||
|
type Connect struct {
|
||||||
|
Data c.Pointer
|
||||||
|
Unused [88]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetAddrInfo struct {
|
||||||
|
Unused [0]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetNameInfo struct {
|
||||||
|
Unused [0]byte
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------
|
// ----------------------------------------------
|
||||||
|
|
||||||
/* Function type */
|
/* Function type */
|
||||||
@@ -95,6 +133,179 @@ type UdpSendCb func(req *UdpSend, status c.Int)
|
|||||||
// llgo:type C
|
// llgo:type C
|
||||||
type UdpRecvCb func(handle *Udp, nread c.Long, buf *Buf, addr *net.SockAddr, flags c.Uint)
|
type UdpRecvCb func(handle *Udp, nread c.Long, buf *Buf, addr *net.SockAddr, flags c.Uint)
|
||||||
|
|
||||||
|
// llgo:type C
|
||||||
|
type ReadCb func(stream *Stream, nread c.Long, buf *Buf)
|
||||||
|
|
||||||
|
// llgo:type C
|
||||||
|
type WriteCb func(req *Write, status c.Int)
|
||||||
|
|
||||||
|
// llgo:type C
|
||||||
|
type ConnectionCb func(server *Stream, status c.Int)
|
||||||
|
|
||||||
|
// ----------------------------------------------
|
||||||
|
|
||||||
|
/* Handle related function and method */
|
||||||
|
|
||||||
|
// llgo:link (*Handle).Ref C.uv_ref
|
||||||
|
func (handle *Handle) Ref() {}
|
||||||
|
|
||||||
|
// llgo:link (*Handle).Unref C.uv_unref
|
||||||
|
func (handle *Handle) Unref() {}
|
||||||
|
|
||||||
|
// llgo:link (*Handle).HasRef C.uv_has_ref
|
||||||
|
func (handle *Handle) HasRef() c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//go:linkname HandleSize C.uv_handle_size
|
||||||
|
func HandleSize(handleType HandleType) uintptr
|
||||||
|
|
||||||
|
// llgo:link (*Handle).GetType C.uv_handle_get_type
|
||||||
|
func (handle *Handle) GetType() HandleType {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//go:linkname HandleTypeName C.uv_handle_type_name
|
||||||
|
func HandleTypeName(handleType HandleType) *c.Char
|
||||||
|
|
||||||
|
// llgo:link (*Handle).GetData C.uv_handle_get_data
|
||||||
|
func (handle *Handle) GetData() c.Pointer {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Handle).GetLoop C.uv_handle_get_loop
|
||||||
|
func (handle *Handle) GetLoop() *Loop {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Handle).SetData C.uv_handle_set_data
|
||||||
|
func (handle *Handle) SetData(data c.Pointer) {}
|
||||||
|
|
||||||
|
// llgo:link (*Handle).IsActive C.uv_is_active
|
||||||
|
func (handle *Handle) IsActive() c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Handle).Close C.uv_close
|
||||||
|
func (handle *Handle) Close(closeCb CloseCb) {}
|
||||||
|
|
||||||
|
// llgo:link (*Handle).SendBufferSize C.uv_send_buffer_size
|
||||||
|
func (handle *Handle) SendBufferSize(value *c.Int) c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Handle).RecvBufferSize C.uv_recv_buffer_size
|
||||||
|
func (handle *Handle) RecvBufferSize(value *c.Int) c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Handle).Fileno C.uv_fileno
|
||||||
|
func (handle *Handle) Fileno(fd *OsFd) c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//go:linkname Pipe C.uv_pipe
|
||||||
|
func Pipe(fds [2]File, readFlags c.Int, writeFlags c.Int) c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//go:linkname Socketpair C.uv_socketpair
|
||||||
|
func Socketpair(_type c.Int, protocol c.Int, socketVector [2]OsSock, flag0 c.Int, flag1 c.Int) c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Handle).IsClosing C.uv_is_closing
|
||||||
|
func (handle *Handle) IsClosing() c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------
|
||||||
|
|
||||||
|
/* Req related function and method */
|
||||||
|
|
||||||
|
//go:linkname ReqSize C.uv_req_size
|
||||||
|
func ReqSize(reqType ReqType) uintptr
|
||||||
|
|
||||||
|
// llgo:link (*Req).GetData C.uv_req_get_data
|
||||||
|
func (req *Req) GetData() c.Pointer {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Req).SetData C.uv_handle_set_data
|
||||||
|
func (req *Req) SetData(data c.Pointer) {}
|
||||||
|
|
||||||
|
// llgo:link (*Req).GetType C.uv_req_get_type
|
||||||
|
func (req *Req) GetType() ReqType {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//go:linkname TypeName C.uv_req_type_name
|
||||||
|
func TypeName(reqType ReqType) *c.Char
|
||||||
|
|
||||||
|
// ----------------------------------------------
|
||||||
|
|
||||||
|
/* Stream related function and method */
|
||||||
|
|
||||||
|
// llgo:link (*Stream).GetWriteQueueSize C.uv_stream_get_write_queue_size
|
||||||
|
func (stream *Stream) GetWriteQueueSize() uintptr {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Stream).Listen C.uv_listen
|
||||||
|
func (stream *Stream) Listen(backlog c.Int, connectionCb ConnectionCb) c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Stream).Accept C.uv_accept
|
||||||
|
func (server *Stream) Accept(client *Stream) c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Stream).StartRead C.uv_read_start
|
||||||
|
func (stream *Stream) StartRead(allocCb AllocCb, readCb ReadCb) c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Stream).StopRead C.uv_read_stop
|
||||||
|
func (stream *Stream) StopRead() c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Write).Write C.uv_write
|
||||||
|
func (req *Write) Write(stream *Stream, bufs *Buf, nbufs c.Uint, writeCb WriteCb) c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Write).Write2 C.uv_write2
|
||||||
|
func (req *Write) Write2(stream *Stream, bufs *Buf, nbufs c.Uint, sendStream *Stream, writeCb WriteCb) c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Stream).TryWrite C.uv_try_write
|
||||||
|
func (stream *Stream) TryWrite(bufs *Buf, nbufs c.Uint) c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Stream).TryWrite2 C.uv_try_write2
|
||||||
|
func (stream *Stream) TryWrite2(bufs *Buf, nbufs c.Uint, sendStream *Stream) c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Stream).IsReadable C.uv_is_readable
|
||||||
|
func (stream *Stream) IsReadable() c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Stream).IsWritable C.uv_is_writable
|
||||||
|
func (stream *Stream) IsWritable() c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// llgo:link (*Stream).SetBlocking C.uv_stream_set_blocking
|
||||||
|
func (stream *Stream) SetBlocking(blocking c.Int) c.Int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------
|
// ----------------------------------------------
|
||||||
|
|
||||||
/* Tcp related function and method */
|
/* Tcp related function and method */
|
||||||
@@ -273,3 +484,20 @@ func InetNtop(af c.Int, src c.Pointer, dst *c.Char, size uintptr) c.Int
|
|||||||
|
|
||||||
//go:linkname InetPton C.uv_inet_pton
|
//go:linkname InetPton C.uv_inet_pton
|
||||||
func InetPton(af c.Int, src *c.Char, dst c.Pointer) c.Int
|
func InetPton(af c.Int, src *c.Char, dst c.Pointer) c.Int
|
||||||
|
|
||||||
|
// ----------------------------------------------
|
||||||
|
|
||||||
|
/* Getaddrinfo related function and method */
|
||||||
|
|
||||||
|
//go:linkname Getaddrinfo C.uv_getaddrinfo
|
||||||
|
func Getaddrinfo(loop *Loop, req *GetAddrInfo, getaddrinfoCb GetaddrinfoCb, node *c.Char, service *c.Char, hints *net.AddrInfo) c.Int
|
||||||
|
|
||||||
|
//go:linkname Freeaddrinfo C.uv_freeaddrinfo
|
||||||
|
func Freeaddrinfo(addrInfo *net.AddrInfo)
|
||||||
|
|
||||||
|
// ----------------------------------------------
|
||||||
|
|
||||||
|
/* Getnameinfo related function and method */
|
||||||
|
|
||||||
|
//go:linkname Getnameinfo C.uv_getnameinfo
|
||||||
|
func Getnameinfo(loop *Loop, req *GetNameInfo, getnameinfoCb GetnameinfoCb, addr *net.SockAddr, flags c.Int) c.Int
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import (
|
|||||||
|
|
||||||
/* Handle types. */
|
/* Handle types. */
|
||||||
|
|
||||||
|
// TODO(spongehah): Timer
|
||||||
type Timer struct {
|
type Timer struct {
|
||||||
Unused [0]byte
|
Unused [0]byte
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user