2018-10-04 19:15:03 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
2019-01-04 21:44:21 +00:00
|
|
|
"cwtch.im/cwtch/event"
|
2018-10-04 19:15:03 +00:00
|
|
|
"cwtch.im/cwtch/peer"
|
2019-01-04 21:44:21 +00:00
|
|
|
"git.openprivacy.ca/openprivacy/libricochet-go/connectivity"
|
2018-12-04 02:52:11 +00:00
|
|
|
"git.openprivacy.ca/openprivacy/libricochet-go/log"
|
2019-01-04 21:44:21 +00:00
|
|
|
"os"
|
|
|
|
"path"
|
2018-10-04 19:15:03 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func main() {
|
2019-01-04 21:44:21 +00:00
|
|
|
|
|
|
|
// System Setup, We need Tor and Logging up and Running
|
2018-12-04 02:52:11 +00:00
|
|
|
log.AddEverythingFromPattern("peer/alice")
|
2019-01-04 21:44:21 +00:00
|
|
|
log.SetLevel(log.LevelDebug)
|
2018-10-04 19:15:03 +00:00
|
|
|
|
2019-01-04 21:44:21 +00:00
|
|
|
acn, err := connectivity.StartTor(path.Join(".", ".cwtch"), "")
|
|
|
|
if err != nil {
|
|
|
|
log.Errorf("\nError connecting to Tor: %v\n", err)
|
|
|
|
os.Exit(1)
|
2018-10-04 19:15:03 +00:00
|
|
|
}
|
|
|
|
|
2019-01-04 21:44:21 +00:00
|
|
|
// Setup the Event Bus to Listen for Data Packets
|
2019-06-05 20:40:55 +00:00
|
|
|
eventBus := event.NewEventManager()
|
2019-01-04 21:44:21 +00:00
|
|
|
queue := event.NewEventQueue(100)
|
|
|
|
eventBus.Subscribe(event.NewMessageFromPeer, queue.EventChannel)
|
|
|
|
|
|
|
|
// Setup Alice to Listen for new Events
|
|
|
|
alice := peer.NewCwtchPeer("alice")
|
|
|
|
alice.Init(acn, eventBus)
|
2018-10-04 19:15:03 +00:00
|
|
|
alice.Listen()
|
2018-12-04 02:52:11 +00:00
|
|
|
|
2019-01-28 20:09:25 +00:00
|
|
|
// For every new Data Packet Alice received she will Print it out.
|
2019-01-04 21:44:21 +00:00
|
|
|
for {
|
|
|
|
event := queue.Next()
|
|
|
|
log.Printf(log.LevelInfo, "Received %v from %v: %s", event.EventType, event.Data["Onion"], event.Data["Data"])
|
|
|
|
}
|
2018-10-04 19:15:03 +00:00
|
|
|
}
|