good morning!!!!

Skip to content
Snippets Groups Projects
client.go 537 B
Newer Older
a's avatar
wip
a committed
package websocket

import (
Garet Halliday's avatar
Garet Halliday committed
	"gfx.cafe/open/jrpc/contrib/codecs/rdwr"

a's avatar
wip
a committed
	"context"

	"nhooyr.io/websocket"
)

type Client struct {
Garet Halliday's avatar
Garet Halliday committed
	*rdwr.Client
	conn *websocket.Conn
a's avatar
wip
a committed
}

Garet Halliday's avatar
Garet Halliday committed
func newClient(conn *websocket.Conn) (*Client, error) {
	conn.SetReadLimit(WsMessageSizeLimit)
	netConn := websocket.NetConn(context.Background(), conn, websocket.MessageText)
	c := &Client{
		Client: rdwr.NewClient(netConn, netConn, nil),
		conn:   conn,
a's avatar
wip
a committed
	}
	return c, nil
}

func (c *Client) Close() error {
Garet Halliday's avatar
Garet Halliday committed
	return c.conn.Close(websocket.StatusNormalClosure, "")
a's avatar
wip
a committed
}