func (o *Output) onListen(d eventual2go.Data) { m := d.(connection.Message) l := messages.Unflatten(m.Payload) f := l.(*messages.Listen).Function o.logger.Println("New Listener", m.Sender, f) _, ok := o.listeners[f] if ok { o.listeners[f][m.Sender] = nil } else { o.listeners[f] = map[config.UUID]interface{}{m.Sender: nil} } o.r.AddFuture(leaveEvent{}, o.m.PeerLeave(m.Sender).Future) }
func ToMessage(d eventual2go.Data) eventual2go.Data { m := d.(Message) return messages.Unflatten(m.Payload) }
func (o *Output) onStopListen(d eventual2go.Data) { m := d.(connection.Message) l := messages.Unflatten(m.Payload) f := l.(*messages.StopListen).Function o.removePeerListen(m.Sender, f) }