forked from cwtch.im/cwtch
Merge pull request 'Leave Server Event' (#327) from leave_server into master
Reviewed-on: cwtch.im/cwtch#327
This commit is contained in:
commit
bd117556b3
|
@ -30,6 +30,9 @@ const (
|
|||
// GroupServer
|
||||
JoinServer = Type("JoinServer")
|
||||
|
||||
// attributes GroupServer - the onion of the server to leave
|
||||
LeaveServer = Type("LeaveServer")
|
||||
|
||||
ProtocolEngineStartListen = Type("ProtocolEngineStartListen")
|
||||
ProtocolEngineStopped = Type("ProtocolEngineStopped")
|
||||
|
||||
|
|
|
@ -80,6 +80,7 @@ func NewProtocolEngine(identity primitives.Identity, privateKey ed25519.PrivateK
|
|||
engine.eventManager.Subscribe(event.RetryPeerRequest, engine.queue)
|
||||
engine.eventManager.Subscribe(event.InvitePeerToGroup, engine.queue)
|
||||
engine.eventManager.Subscribe(event.JoinServer, engine.queue)
|
||||
engine.eventManager.Subscribe(event.LeaveServer, engine.queue)
|
||||
engine.eventManager.Subscribe(event.SendMessageToGroup, engine.queue)
|
||||
engine.eventManager.Subscribe(event.SendMessageToPeer, engine.queue)
|
||||
engine.eventManager.Subscribe(event.SendGetValMessageToPeer, engine.queue)
|
||||
|
@ -127,6 +128,13 @@ func (e *engine) eventHandler() {
|
|||
e.sendMessageToPeer(ev.EventID, ev.Data[event.RemotePeer], event.ContextInvite, []byte(ev.Data[event.GroupInvite]))
|
||||
case event.JoinServer:
|
||||
e.peerWithTokenServer(ev.Data[event.GroupServer], ev.Data[event.ServerTokenOnion], ev.Data[event.ServerTokenY])
|
||||
case event.LeaveServer:
|
||||
es, ok := e.ephemeralServices.Load(ev.Data[event.GroupServer])
|
||||
if ok {
|
||||
ephemeralService := es.(tapir.Service)
|
||||
ephemeralService.Shutdown()
|
||||
e.ephemeralServices.Delete(ev.Data[event.GroupServer])
|
||||
}
|
||||
case event.DeleteContact:
|
||||
onion := ev.Data[event.RemotePeer]
|
||||
// We remove this peer from out blocklist which will prevent them from contacting us if we have "block unknown peers" turned on.
|
||||
|
|
Loading…
Reference in New Issue