Discovery Neo Oclib
This commit is contained in:
+23
-2
@@ -123,8 +123,25 @@ func InitNode(isNode bool, isIndexer bool) (*Node, error) {
|
||||
b, _ := json.Marshal(fresh)
|
||||
return json.RawMessage(b)
|
||||
}
|
||||
// streamSvcRef is set after InitStream below; the heartbeat goroutine
|
||||
// first fires after 20 s so it is always non-nil by then.
|
||||
var streamSvcRef *stream.StreamService
|
||||
logger.Info().Msg("connect to indexers...")
|
||||
common.ConnectToIndexers(node.Host, conf.GetConfig().MinIndexer, conf.GetConfig().MaxIndexer, buildRecord)
|
||||
common.ConnectToIndexers(node.Host, conf.GetConfig().MinIndexer, conf.GetConfig().MaxIndexer,
|
||||
common.HeartbeatHooks{
|
||||
RecordFn: buildRecord,
|
||||
PendingContactFn: func() []string {
|
||||
if streamSvcRef != nil {
|
||||
return streamSvcRef.PendingContacts()
|
||||
}
|
||||
return nil
|
||||
},
|
||||
OnPendingCallers: func(callers []string) {
|
||||
if streamSvcRef != nil {
|
||||
streamSvcRef.NudgeContacts(callers)
|
||||
}
|
||||
},
|
||||
})
|
||||
logger.Info().Msg("claims my node...")
|
||||
if _, err := node.claimInfo(conf.GetConfig().Name, conf.GetConfig().Hostname); err != nil {
|
||||
panic(err)
|
||||
@@ -135,6 +152,7 @@ func InitNode(isNode bool, isIndexer bool) (*Node, error) {
|
||||
if node.StreamService, err = stream.InitStream(context.Background(), node.Host, node.PeerID, 1000, node); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
streamSvcRef = node.StreamService
|
||||
node.StreamService.IsPeerKnown = func(pid pp.ID) bool {
|
||||
// 1. Local DB: known peer (handles blacklist).
|
||||
access := oclib.NewRequestAdmin(oclib.LibDataEnum(oclib.PEER), nil)
|
||||
@@ -178,7 +196,7 @@ func InitNode(isNode bool, isIndexer bool) (*Node, error) {
|
||||
}
|
||||
fmt.Println("PUBSUB SendResponse bef peerrece")
|
||||
if p, err := node.GetPeerRecord(ctx, evt.From); err == nil && len(p) > 0 && m["search"] != nil {
|
||||
fmt.Println("PUBSUB SendResponse af peerrece", m)
|
||||
fmt.Println("PUBSUB SendResponse af peerrece", m, evt.User)
|
||||
node.StreamService.SendResponse(p[0], &evt, fmt.Sprintf("%v", m["search"]))
|
||||
}
|
||||
}
|
||||
@@ -411,8 +429,10 @@ func (d *Node) claimInfo(
|
||||
"peer_id": {{Operator: dbs.EQUAL.String(), Value: d.Host.ID().String()}},
|
||||
},
|
||||
}, "", false, 0, 1)
|
||||
var masterID string
|
||||
if len(peers.Data) > 0 {
|
||||
did = peers.Data[0].GetID() // if already existing set up did as made
|
||||
masterID = peers.Data[0].(*peer.Peer).MasterID
|
||||
}
|
||||
priv, err := tools.LoadKeyFromFilePrivate()
|
||||
if err != nil {
|
||||
@@ -434,6 +454,7 @@ func (d *Node) claimInfo(
|
||||
PubKey: pubBytes,
|
||||
|
||||
IsNano: oclib.GetConfig().IsNano,
|
||||
MasterID: masterID,
|
||||
TTLSeconds: indexer.DefaultTTLSeconds,
|
||||
ExpiryDate: now.Add(indexer.DefaultTTLSeconds * time.Second),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user