diff --git a/peer/cwtch_peer.go b/peer/cwtch_peer.go index 109bc1c..f56e096 100644 --- a/peer/cwtch_peer.go +++ b/peer/cwtch_peer.go @@ -21,6 +21,16 @@ var autoHandleableEvents = map[event.Type]bool{event.EncryptedGroupMessage: true event.PeerAcknowledgement: true, event.PeerError: true, event.SendMessageToGroupError: true, event.NewGetValMessageFromPeer: true, event.NewRetValMessageFromPeer: true} +var DefaultEventsToHandle = []event.Type{ + event.EncryptedGroupMessage, + event.NewMessageFromPeer, + event.PeerAcknowledgement, + event.NewGroupInvite, + event.PeerError, + event.SendMessageToGroupError, + event.NewGetValMessageFromPeer, +} + // cwtchPeer manages incoming and outgoing connections and all processing for a Cwtch cwtchPeer type cwtchPeer struct { Profile *model.Profile @@ -101,12 +111,15 @@ func FromProfile(profile *model.Profile) CwtchPeer { // Init instantiates a cwtchPeer func (cp *cwtchPeer) Init(eventBus event.Manager) { + cp.InitForEvents(eventBus, DefaultEventsToHandle) +} + +func (cp *cwtchPeer) InitForEvents(eventBus event.Manager, toBeHandled []event.Type) { cp.queue = event.NewQueue() go cp.eventHandler() cp.eventBus = eventBus - cp.AutoHandleEvents([]event.Type{event.EncryptedGroupMessage, event.NewMessageFromPeer, event.PeerAcknowledgement, event.NewGroupInvite, - event.PeerError, event.SendMessageToGroupError, event.NewGetValMessageFromPeer}) + cp.AutoHandleEvents(toBeHandled) } // AutoHandleEvents sets an event (if able) to be handled by this peer