summaryrefslogtreecommitdiff
path: root/pkg/ui/multiplayer/multiplayer.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/ui/multiplayer/multiplayer.go')
-rw-r--r--pkg/ui/multiplayer/multiplayer.go19
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{