This commit is contained in:
12
rpc-pool.go
12
rpc-pool.go
@@ -26,8 +26,8 @@ func ToCartId(id string) CartId {
|
||||
}
|
||||
|
||||
type RemoteGrain struct {
|
||||
connection net.Conn
|
||||
queue *PacketQueue
|
||||
net.Conn
|
||||
*PacketQueue
|
||||
Id CartId
|
||||
Address string
|
||||
}
|
||||
@@ -49,8 +49,8 @@ func (g *RemoteGrain) Connect() error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
g.connection = client
|
||||
g.queue = NewPacketQueue(client)
|
||||
g.Conn = client
|
||||
g.PacketQueue = NewPacketQueue(client)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -64,7 +64,7 @@ func (g *RemoteGrain) HandleMessage(message *Message, isReplay bool) ([]byte, er
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
packet, err := g.queue.Expect(ResponseBody, time.Second)
|
||||
packet, err := g.Expect(ResponseBody, time.Second)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -86,7 +86,7 @@ func (g *RemoteGrain) GetCurrentState() ([]byte, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
packet, err := g.queue.Expect(ResponseBody, time.Second)
|
||||
packet, err := g.Expect(ResponseBody, time.Second)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -20,11 +20,11 @@ type Quorum interface {
|
||||
}
|
||||
|
||||
type RemoteHost struct {
|
||||
net.Conn
|
||||
*PacketQueue
|
||||
Host string
|
||||
MissedPings int
|
||||
Pool *RemoteGrainPool
|
||||
connection net.Conn
|
||||
queue *PacketQueue
|
||||
}
|
||||
|
||||
type SyncedPool struct {
|
||||
@@ -239,7 +239,7 @@ func NewPacketQueue(connection net.Conn) *PacketQueue {
|
||||
|
||||
queue.mu.Lock()
|
||||
for i, packet := range queue.Packets {
|
||||
if time.Since(packet.Added) < time.Second*5 {
|
||||
if time.Since(packet.Added) < time.Second {
|
||||
stillInQueue := queue.Packets[i:]
|
||||
log.Printf("DEBUG: Requeueing %v packets\n", stillInQueue)
|
||||
queue.Packets = stillInQueue
|
||||
@@ -378,7 +378,7 @@ func (h *RemoteHost) Negotiate(knownHosts []string) ([]string, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
packet, err := h.queue.Expect(RemoteNegotiate, time.Second)
|
||||
packet, err := h.Expect(RemoteNegotiate, time.Second)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -395,7 +395,7 @@ func (g *RemoteHost) GetCartMappings() []CartId {
|
||||
log.Printf("Error getting mappings: %v\n", err)
|
||||
return nil
|
||||
}
|
||||
packet, err := g.queue.Expect(CartIdsResponse, time.Second*3)
|
||||
packet, err := g.Expect(CartIdsResponse, time.Second*3)
|
||||
if err != nil {
|
||||
log.Printf("Error getting mappings: %v\n", err)
|
||||
return nil
|
||||
@@ -434,7 +434,7 @@ func (r *RemoteHost) ConfirmChange(id CartId, host string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = r.queue.Expect(AckChange, time.Second)
|
||||
_, err = r.Expect(AckChange, time.Second)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -459,7 +459,7 @@ func DoPing(host *RemoteHost) error {
|
||||
SendPacket(host.connection, Ping, func(w io.Writer) error {
|
||||
return nil
|
||||
})
|
||||
_, err := host.queue.Expect(Pong, time.Second)
|
||||
_, err := host.Expect(Pong, time.Second)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -511,8 +511,8 @@ func (p *SyncedPool) AddRemote(address string) error {
|
||||
|
||||
pool := NewRemoteGrainPool(address)
|
||||
remote := RemoteHost{
|
||||
connection: connection,
|
||||
queue: NewPacketQueue(connection),
|
||||
Conn: connection,
|
||||
PacketQueue: NewPacketQueue(connection),
|
||||
Pool: pool,
|
||||
Host: address,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user