You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following experiment would be lock at client.Request because network is closed or i/o time out, can you export a method to check the network is closed or not to avoid lock at client.Request.
config := xrpl.ClientConfig{
URL: "wss://s.altnet.rippletest.net:51233/",
}
client := xrpl.NewClient(config)
err := client.Ping([]byte("PING"))
if err != nil {
panic(err)
}
// test send request after close
r.Close()
resp, err := client.Request(xrpl.BaseRequest{
"id": "example_ledger_req",
"command": "ledger",
"ledger_index": "validated",
"transactions": false,
"expand": false,
"owner_funds": false,
})
if err != nil {
panic(err)
}
var ok bool
index, ok = (resp["result"].(map[string]interface{})["ledger_index"]).(float64)
if !ok {
fmt.Printf("ledger_index reflect failed: %T", index)
}
another experiment is close twice, and it would be lock at second close, so we need a way to know the connection is close or not or just skip.
config := xrpl.ClientConfig{
URL: "wss://s.altnet.rippletest.net:51233/",
}
client := xrpl.NewClient(config)
err := client.Ping([]byte("PING"))
if err != nil {
panic(err)
}
// 1st
r.Close()
// 2nd
r.Close() // will be lock in this close
The text was updated successfully, but these errors were encountered:
The following experiment would be lock at client.Request because network is closed or i/o time out, can you export a method to check the network is closed or not to avoid lock at client.Request.
another experiment is close twice, and it would be lock at second close, so we need a way to know the connection is close or not or just skip.
The text was updated successfully, but these errors were encountered: