Files
zeekay 402cc58096 Unify logging to use luxfi/log everywhere
- Replace all 115+ files using github.com/luxfi/geth/log with github.com/luxfi/log
- Remove complex logger adapters
- Create minimal compatibility layer (asGethLogger) for external dependencies
- Fix go.mod version issue with luxfi/node
- Simplify logging infrastructure for better performance and maintainability
2025-07-26 07:28:27 -05:00

28 lines
1.0 KiB
Markdown

# Peer Package
The peer package handles networking for the VM.
## Network
The `Network` interface implements the networking portion of the required VM interface. The VM utilizes the `Network` interface to:
- Set an App Gossip handler for incoming VM gossip messages
- Set an App Request handler for incoming VM request messages
- Send App Requests to peers in the network and specify a response handler to be called upon receiving a response or failure notification
- Send App Gossip messages to the network
## Client
The client utilizes the `Network` interface to send requests to peers on the network and utilizes the `waitingHandler` to wait until a response or failure is received from the AvalancheGo networking layer.
This allows the user of `Client` to treat it as if it were returning results from the network synchronously.
```go
result, err := client.Request(nodeID, request) // Blocks until receiving a response from the network
if err != nil {
return err
}
foo(result) // do something with the result
```