diff --git a/rpc-pool.go b/rpc-pool.go index b7012b7..76d978c 100644 --- a/rpc-pool.go +++ b/rpc-pool.go @@ -52,7 +52,11 @@ func (g *RemoteGrain) Connect() error { } func (g *RemoteGrain) HandleMessage(message *Message, isReplay bool) ([]byte, error) { - err := SendCartPacket(g.connection, g.Id, RemoteHandleMessage, message.Write) + err := g.Connect() + if err != nil { + return nil, err + } + err = SendCartPacket(g.connection, g.Id, RemoteHandleMessage, message.Write) if err != nil { return nil, err } @@ -68,7 +72,11 @@ func (g *RemoteGrain) GetId() CartId { } func (g *RemoteGrain) GetCurrentState() ([]byte, error) { - err := SendCartPacket(g.connection, g.Id, RemoteGetState, func(w io.Writer) error { + err := g.Connect() + if err != nil { + return nil, err + } + err = SendCartPacket(g.connection, g.Id, RemoteGetState, func(w io.Writer) error { return nil }) if err != nil {