diff options
author | Santo Cariotti <santo@dcariotti.me> | 2025-04-18 21:25:32 +0200 |
---|---|---|
committer | Santo Cariotti <santo@dcariotti.me> | 2025-04-18 21:25:32 +0200 |
commit | 42d68aa99d59339dbdf928a54c28242635728daa (patch) | |
tree | 98dadfd64a0fc05d1fb6f6ddbc9a3e8963fbf1dd /pkg/ui/multiplayer/multiplayer.go | |
parent | 7c5a6176b27b6b0c0c3ef8a4aedbdec871391a80 (diff) |
Restore a game
Diffstat (limited to 'pkg/ui/multiplayer/multiplayer.go')
-rw-r--r-- | pkg/ui/multiplayer/multiplayer.go | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/pkg/ui/multiplayer/multiplayer.go b/pkg/ui/multiplayer/multiplayer.go index 98ccfb4..ee9d452 100644 --- a/pkg/ui/multiplayer/multiplayer.go +++ b/pkg/ui/multiplayer/multiplayer.go @@ -11,8 +11,10 @@ import ( type MoveType string const ( - AbandonGameMessage MoveType = "abandon" - MoveGameMessage MoveType = "new-move" + AbandonGameMessage MoveType = "abandon" + RestoreGameMessage MoveType = "restore" + RestoreAckGameMessage MoveType = "restore-ack" + MoveGameMessage MoveType = "new-move" ) type GameMove struct { @@ -26,13 +28,14 @@ type GameNetwork struct { peer p2p.NetworkID } -// Wrapper to a `TCPNetwork` -func NewGameNetwork(localID string, address string, onHandshake p2p.NetworkHandshakeFunc, logger *zap.Logger) *GameNetwork { +// Wrapper to a `TCPNetwork`RestoreAck +func NewGameNetwork(localID string, address string, onHandshake p2p.NetworkHandshakeFunc, onFirstHandshake p2p.NetworkHandshakeFunc, logger *zap.Logger) *GameNetwork { opts := p2p.TCPNetworkOpts{ - ListenAddr: address, - HandshakeFn: onHandshake, - RetryDelay: time.Second * 2, - Logger: logger, + ListenAddr: address, + HandshakeFn: onHandshake, + FirstHandshakeFn: onFirstHandshake, + RetryDelay: time.Second * 2, + Logger: logger, } server := p2p.NewTCPNetwork(p2p.NetworkID(localID), opts) return &GameNetwork{ |