dataexchange

package
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2026 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TypeText   uint32 = 1
	TypeBinary uint32 = 2
	TypeJSON   uint32 = 3
	TypeFile   uint32 = 4
)

Frame types for data exchange on port 1001.

Variables

This section is empty.

Functions

func TypeName

func TypeName(t uint32) string

TypeName returns a human-readable name for a frame type.

func WriteFrame

func WriteFrame(w io.Writer, f *Frame) error

WriteFrame writes a frame to a writer.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client connects to a remote data exchange service on port 1001.

func Dial

func Dial(d *driver.Driver, addr protocol.Addr) (*Client, error)

Dial connects to a remote agent's data exchange port.

func (*Client) Close

func (c *Client) Close() error

Close closes the connection.

func (*Client) Recv

func (c *Client) Recv() (*Frame, error)

Recv reads the next frame from the connection.

func (*Client) SendBinary

func (c *Client) SendBinary(data []byte) error

SendBinary sends a binary frame.

func (*Client) SendFile

func (c *Client) SendFile(name string, data []byte) error

SendFile sends a file frame with a filename and data.

func (*Client) SendJSON

func (c *Client) SendJSON(data []byte) error

SendJSON sends a JSON frame.

func (*Client) SendText

func (c *Client) SendText(text string) error

SendText sends a text frame.

type Frame

type Frame struct {
	Type     uint32
	Payload  []byte
	Filename string // only for TypeFile
}

Frame is a typed data unit exchanged between agents. Wire format: [4-byte type][4-byte length][payload] For TypeFile, payload is: [2-byte name length][name bytes][file data]

func ReadFrame

func ReadFrame(r io.Reader) (*Frame, error)

ReadFrame reads a frame from a reader.

type Handler

type Handler func(conn net.Conn, frame *Frame)

Handler is called for each incoming frame on a connection.

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server listens on port 1001 and dispatches incoming frames to a handler.

func NewServer

func NewServer(d *driver.Driver, handler Handler) *Server

NewServer creates a data exchange server.

func (*Server) ListenAndServe

func (s *Server) ListenAndServe() error

ListenAndServe binds port 1001 and starts accepting connections.

Jump to

Keyboard shortcuts

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