change package
This commit is contained in:
parent
8ab412184f
commit
6ab1f93805
|
@ -1,4 +1,4 @@
|
||||||
package main
|
package gocmdDaemon
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
|
8
io.go
8
io.go
|
@ -1,4 +1,4 @@
|
||||||
package main
|
package gocmdDaemon
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
@ -7,9 +7,12 @@ import (
|
||||||
|
|
||||||
// Write 将给定的值序列化为JSON并写入网络连接
|
// Write 将给定的值序列化为JSON并写入网络连接
|
||||||
// 参数:
|
// 参数:
|
||||||
|
//
|
||||||
// conn: 网络连接对象
|
// conn: 网络连接对象
|
||||||
// v: 要写入的值
|
// v: 要写入的值
|
||||||
|
//
|
||||||
// 返回:
|
// 返回:
|
||||||
|
//
|
||||||
// error: 写入过程中发生的错误(如果有)
|
// error: 写入过程中发生的错误(如果有)
|
||||||
func Write[T any](conn net.Conn, v T) error {
|
func Write[T any](conn net.Conn, v T) error {
|
||||||
return json.NewEncoder(conn).Encode(v)
|
return json.NewEncoder(conn).Encode(v)
|
||||||
|
@ -17,8 +20,11 @@ func Write[T any](conn net.Conn, v T) error {
|
||||||
|
|
||||||
// Read 从网络连接读取JSON数据并反序列化为指定类型
|
// Read 从网络连接读取JSON数据并反序列化为指定类型
|
||||||
// 参数:
|
// 参数:
|
||||||
|
//
|
||||||
// conn: 网络连接对象
|
// conn: 网络连接对象
|
||||||
|
//
|
||||||
// 返回:
|
// 返回:
|
||||||
|
//
|
||||||
// *T: 反序列化后的值指针
|
// *T: 反序列化后的值指针
|
||||||
// error: 读取或反序列化过程中发生的错误(如果有)
|
// error: 读取或反序列化过程中发生的错误(如果有)
|
||||||
func Read[T any](conn net.Conn) (*T, error) {
|
func Read[T any](conn net.Conn) (*T, error) {
|
||||||
|
|
15
main.go
15
main.go
|
@ -1,4 +1,4 @@
|
||||||
package main
|
package gocmdDaemon
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
@ -66,8 +66,11 @@ type CmdHandler interface {
|
||||||
|
|
||||||
// Listen 启动守护进程并监听Unix socket上的连接
|
// Listen 启动守护进程并监听Unix socket上的连接
|
||||||
// 参数:
|
// 参数:
|
||||||
|
//
|
||||||
// c: CmdDaemon 实例指针
|
// c: CmdDaemon 实例指针
|
||||||
|
//
|
||||||
// 返回:
|
// 返回:
|
||||||
|
//
|
||||||
// error: 监听过程中发生的错误(如果有)
|
// error: 监听过程中发生的错误(如果有)
|
||||||
func (c *CmdDaemon) Listen() error {
|
func (c *CmdDaemon) Listen() error {
|
||||||
// 删除已存在的 socket 文件(如果存在)
|
// 删除已存在的 socket 文件(如果存在)
|
||||||
|
@ -127,8 +130,11 @@ func (c *CmdDaemon) Listen() error {
|
||||||
|
|
||||||
// Usage 生成命令使用说明
|
// Usage 生成命令使用说明
|
||||||
// 参数:
|
// 参数:
|
||||||
|
//
|
||||||
// c: CmdDaemon 实例指针
|
// c: CmdDaemon 实例指针
|
||||||
|
//
|
||||||
// 返回:
|
// 返回:
|
||||||
|
//
|
||||||
// string: 命令使用说明字符串
|
// string: 命令使用说明字符串
|
||||||
func (c *CmdDaemon) Usage() string {
|
func (c *CmdDaemon) Usage() string {
|
||||||
usage := fmt.Sprintf("Usage: %s [options] <command> [args...]\n\n", c.Name)
|
usage := fmt.Sprintf("Usage: %s [options] <command> [args...]\n\n", c.Name)
|
||||||
|
@ -147,18 +153,25 @@ func (c *CmdDaemon) RegisterCmd(cmd string, handler CmdHandler) {
|
||||||
|
|
||||||
// isDebug 检查给定的命令是否是调试标志
|
// isDebug 检查给定的命令是否是调试标志
|
||||||
// 参数:
|
// 参数:
|
||||||
|
//
|
||||||
// c: CmdDaemon 实例指针
|
// c: CmdDaemon 实例指针
|
||||||
// cmd: 要检查的命令字符串
|
// cmd: 要检查的命令字符串
|
||||||
|
//
|
||||||
// 返回:
|
// 返回:
|
||||||
|
//
|
||||||
// bool: 如果是调试标志返回true,否则返回false
|
// bool: 如果是调试标志返回true,否则返回false
|
||||||
func (c *CmdDaemon) isDebug(cmd string) bool {
|
func (c *CmdDaemon) isDebug(cmd string) bool {
|
||||||
|
|
||||||
return cmd == "--debug" || cmd == "-d"
|
return cmd == "--debug" || cmd == "-d"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Run 执行客户端命令并通过Unix socket与守护进程通信
|
// Run 执行客户端命令并通过Unix socket与守护进程通信
|
||||||
// 参数:
|
// 参数:
|
||||||
|
//
|
||||||
// c: CmdDaemon 实例指针
|
// c: CmdDaemon 实例指针
|
||||||
|
//
|
||||||
// 返回:
|
// 返回:
|
||||||
|
//
|
||||||
// error: 执行过程中发生的错误(如果有)
|
// error: 执行过程中发生的错误(如果有)
|
||||||
func (c *CmdDaemon) Run() error {
|
func (c *CmdDaemon) Run() error {
|
||||||
// 从命令参数中解析出是否debug 子命令和剩余参数字符串
|
// 从命令参数中解析出是否debug 子命令和剩余参数字符串
|
||||||
|
|
Loading…
Reference in New Issue