瀏覽代碼

:gear: Expand handler signature

mudler 3 年之前
父節點
當前提交
85432c5471
共有 3 個文件被更改,包括 5 次插入5 次删除
  1. 1 1
      pkg/blockchain/ledger.go
  2. 1 1
      pkg/node/config.go
  3. 3 3
      pkg/node/connection.go

+ 1 - 1
pkg/blockchain/ledger.go

@@ -108,7 +108,7 @@ func deCompress(b []byte) (*bytes.Buffer, error) {
 }
 
 // Update the blockchain from a message
-func (l *Ledger) Update(h *hub.Message) (err error) {
+func (l *Ledger) Update(f *Ledger, h *hub.Message, c chan *hub.Message) (err error) {
 	//chain := make(Blockchain, 0)
 	block := &Block{}
 

+ 1 - 1
pkg/node/config.go

@@ -91,7 +91,7 @@ type NetworkService func(context.Context, Config, *Node, *blockchain.Ledger) err
 
 type StreamHandler func(*Node, *blockchain.Ledger) func(stream network.Stream)
 
-type Handler func(*hub.Message) error
+type Handler func(*blockchain.Ledger, *hub.Message, chan *hub.Message) error
 
 type ServiceDiscovery interface {
 	Run(log.StandardLogger, context.Context, host.Host) error

+ 3 - 3
pkg/node/connection.go

@@ -156,16 +156,16 @@ func (e *Node) handleEvents(ctx context.Context, inputChannel chan *hub.Message,
 				e.config.Logger.Warnf("%w from %s", err.Error(), c.SenderID)
 			}
 			c.Message = str
-			e.handleReceivedMessage(c, handlers)
+			e.handleReceivedMessage(c, handlers, inputChannel)
 		case <-ctx.Done():
 			return
 		}
 	}
 }
 
-func (e *Node) handleReceivedMessage(m *hub.Message, handlers []Handler) {
+func (e *Node) handleReceivedMessage(m *hub.Message, handlers []Handler, c chan *hub.Message) {
 	for _, h := range handlers {
-		if err := h(m); err != nil {
+		if err := h(e.ledger, m, c); err != nil {
 			e.config.Logger.Warnf("handler error: %s", err)
 		}
 	}