mirror of
https://github.com/YspCoder/clawgo.git
synced 2026-06-23 16:44:38 +08:00
parallel optimization groundwork
This commit is contained in:
@@ -346,13 +346,30 @@ type mcpClient struct {
|
||||
cmd *exec.Cmd
|
||||
stdin io.WriteCloser
|
||||
reader *bufio.Reader
|
||||
stderr bytes.Buffer
|
||||
stderr mcpSafeBuffer
|
||||
|
||||
writeMu sync.Mutex
|
||||
waiters sync.Map
|
||||
nextID atomic.Int64
|
||||
}
|
||||
|
||||
type mcpSafeBuffer struct {
|
||||
mu sync.Mutex
|
||||
buf bytes.Buffer
|
||||
}
|
||||
|
||||
func (b *mcpSafeBuffer) Write(p []byte) (int, error) {
|
||||
b.mu.Lock()
|
||||
defer b.mu.Unlock()
|
||||
return b.buf.Write(p)
|
||||
}
|
||||
|
||||
func (b *mcpSafeBuffer) String() string {
|
||||
b.mu.Lock()
|
||||
defer b.mu.Unlock()
|
||||
return b.buf.String()
|
||||
}
|
||||
|
||||
type mcpInbound struct {
|
||||
JSONRPC string `json:"jsonrpc"`
|
||||
ID interface{} `json:"id,omitempty"`
|
||||
|
||||
Reference in New Issue
Block a user