github.com/sixexorg/magnetic-ring@v0.0.0-20191119090307-31705a21e419/p2pserver/actor/req/txnpool.go (about) 1 package req 2 3 import ( 4 "time" 5 6 "github.com/sixexorg/magnetic-ring/p2pserver/temp" 7 8 "github.com/ontio/ontology-eventbus/actor" 9 "github.com/sixexorg/magnetic-ring/log" 10 11 // "github.com/sixexorg/magnetic-ring/core/mainchain/types" 12 p2pcommon "github.com/sixexorg/magnetic-ring/p2pserver/common" 13 tc "github.com/sixexorg/magnetic-ring/txpool/mainchain" 14 ) 15 16 const txnPoolReqTimeout = p2pcommon.ACTOR_TIMEOUT * time.Second 17 18 var txnPoolPid *actor.PID 19 20 func SetTxnPoolPid(txnPid *actor.PID) { 21 txnPoolPid = txnPid 22 } 23 24 //add txn to txnpool 25 func AddTransaction(msgTrn *p2pcommon.Trn) { 26 if msgTrn.SyncType == p2pcommon.SYNC_DATA_ORG { 27 addOrgTransaction(msgTrn) 28 return 29 } 30 if txnPoolPid == nil { 31 log.Error("[p2p]net_server AddTransaction(): txnpool pid is nil") 32 return 33 } 34 txReq := tc.TxReq{ 35 Tx: msgTrn.Txn, 36 RespChan: nil, 37 } 38 txnPoolPid.Tell(txReq) 39 } 40 41 func addOrgTransaction(msgTrn *p2pcommon.Trn) { 42 container, err := temp.GetContainerByOrgID(msgTrn.OrgID) 43 if err != nil { 44 log.Error("GetLedger err", "orgid", msgTrn.OrgID, "err", err) 45 return 46 } 47 orgtxpool := container.TxPool() 48 if orgtxpool == nil { 49 log.Error("orgtxpool is null ", "orgid", msgTrn.OrgID, "err", err) 50 return 51 } 52 txnSubPoolPid := orgtxpool.GetTxpoolPID() 53 if txnSubPoolPid == nil { 54 log.Error("[p2p]net_server addOrgTransaction(): txnSubPoolPid pid is nil") 55 return 56 } 57 txReq := tc.TxReq{ 58 Tx: msgTrn.Txn, 59 RespChan: nil, 60 } 61 txnSubPoolPid.Tell(txReq) 62 63 }