Skip to content

Commit 0b514c5

Browse files
committed
fix(): modify get tx from peers http conn
1 parent 0425679 commit 0b514c5

File tree

2 files changed

+22
-9
lines changed

2 files changed

+22
-9
lines changed

client.go

+10
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,16 @@ func NewClient(nodeUrl string, proxyUrl ...string) *Client {
4444
return &Client{client: httpClient, url: nodeUrl}
4545
}
4646

47+
func newShortConn() *Client {
48+
transport := http.Transport{DisableKeepAlives: true}
49+
cli := &http.Client{Transport: &transport}
50+
return &Client{client: cli}
51+
}
52+
53+
func (c *Client) setShortConnUrl(url string) {
54+
c.url = url
55+
}
56+
4757
func (c *Client) GetInfo() (info *types.NetworkInfo, err error) {
4858
body, _, err := c.httpGet("info")
4959
if err != nil {

client_broadcast.go

+12-9
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ func (c *Client) BroadcastData(txId string, data []byte, numOfNodes int64) error
1313
}
1414

1515
count := int64(0)
16+
pNode := newShortConn()
1617
for _, peer := range peers {
17-
arNode := NewClient("http://" + peer)
18-
uploader, err := CreateUploader(arNode, txId, data)
18+
pNode.setShortConnUrl("http://" + peer)
19+
uploader, err := CreateUploader(pNode, txId, data)
1920
if err != nil {
2021
continue
2122
}
@@ -38,9 +39,9 @@ func (c *Client) GetTxDataFromPeers(txId string) ([]byte, error) {
3839
if err != nil {
3940
return nil, err
4041
}
41-
42+
pNode := newShortConn()
4243
for _, peer := range peers {
43-
pNode := NewClient("http://" + peer)
44+
pNode.setShortConnUrl("http://" + peer)
4445
data, err := pNode.DownloadChunkData(txId)
4546
if err != nil {
4647
log.Error("get tx data", "err", err, "peer", peer)
@@ -58,11 +59,12 @@ func (c *Client) GetBlockFromPeers(height int64) (*types.Block, error) {
5859
return nil, err
5960
}
6061

62+
pNode := newShortConn()
6163
for _, peer := range peers {
62-
pNode := NewClient("http://" + peer)
64+
pNode.setShortConnUrl("http://" + peer)
6365
block, err := pNode.GetBlockByHeight(height)
6466
if err != nil {
65-
fmt.Printf("get block error:%v, peer: %s\n", err, peer)
67+
fmt.Printf("get block error:%v, peer: %s, height: %d\n", err, peer, height)
6668
continue
6769
}
6870
fmt.Printf("success get block; peer: %s\n", peer)
@@ -78,14 +80,15 @@ func (c *Client) GetTxFromPeers(arId string) (*types.Transaction, error) {
7880
return nil, err
7981
}
8082

83+
pNode := newShortConn()
8184
for _, peer := range peers {
82-
pNode := NewClient("http://" + peer)
85+
pNode.setShortConnUrl("http://" + peer)
8386
tx, err := pNode.GetTransactionByID(arId)
8487
if err != nil {
85-
fmt.Printf("get tx error:%v, peer: %s\n", err, peer)
88+
fmt.Printf("get tx error:%v, peer: %s, arTx: %s\n", err, peer, arId)
8689
continue
8790
}
88-
fmt.Printf("success get tx; peer: %s\n", peer)
91+
fmt.Printf("success get tx; peer: %s, arTx: %s\n", peer, arId)
8992
return tx, nil
9093
}
9194

0 commit comments

Comments
 (0)