Hi… I am well aware that this diff view is very suboptimal. It will be fixed when the refactored server comes along!
git2c: git2c.go -> client.go, a more sensible name
package git2c
import (
"fmt"
"net"
"git.sr.ht/~sircmpwn/go-bare"
)
type Client struct {
SocketPath string
conn net.Conn
writer *bare.Writer
reader *bare.Reader
}
func NewClient(socketPath string) (*Client, error) {
conn, err := net.Dial("unix", socketPath)
if err != nil {
return nil, fmt.Errorf("git2d connection failed: %w", err)
}
writer := bare.NewWriter(conn)
reader := bare.NewReader(conn)
return &Client{
SocketPath: socketPath,
conn: conn,
writer: writer,
reader: reader,
}, nil
}
func (c *Client) Close() error {
if c.conn != nil {
return c.conn.Close()
}
return nil
}