restores connect-to-peer
This commit is contained in:
parent
85774847b7
commit
3bd297a22d
|
@ -49,6 +49,15 @@ namespace CodexPlugin
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ConnectToPeer(string peerId, string[] peerMultiAddresses)
|
||||||
|
{
|
||||||
|
OnCodex(api =>
|
||||||
|
{
|
||||||
|
Time.Wait(api.ConnectPeerAsync(peerId, peerMultiAddresses));
|
||||||
|
return Task.FromResult(string.Empty);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public string UploadFile(FileStream fileStream)
|
public string UploadFile(FileStream fileStream)
|
||||||
{
|
{
|
||||||
return OnCodex(api => api.UploadAsync(fileStream));
|
return OnCodex(api => api.UploadAsync(fileStream));
|
||||||
|
|
|
@ -28,7 +28,6 @@ namespace CodexPlugin
|
||||||
|
|
||||||
public class CodexNode : ICodexNode
|
public class CodexNode : ICodexNode
|
||||||
{
|
{
|
||||||
private const string SuccessfullyConnectedMessage = "Successfully connected to peer";
|
|
||||||
private const string UploadFailedMessage = "Unable to store block";
|
private const string UploadFailedMessage = "Unable to store block";
|
||||||
private readonly IPluginTools tools;
|
private readonly IPluginTools tools;
|
||||||
private readonly EthAddress? ethAddress;
|
private readonly EthAddress? ethAddress;
|
||||||
|
@ -131,9 +130,8 @@ namespace CodexPlugin
|
||||||
|
|
||||||
Log($"Connecting to peer {peer.GetName()}...");
|
Log($"Connecting to peer {peer.GetName()}...");
|
||||||
var peerInfo = node.GetDebugInfo();
|
var peerInfo = node.GetDebugInfo();
|
||||||
var response = CodexAccess.ConnectToPeer(peerInfo.id, GetPeerMultiAddress(peer, peerInfo));
|
CodexAccess.ConnectToPeer(peerInfo.Id, GetPeerMultiAddresses(peer, peerInfo));
|
||||||
|
|
||||||
FrameworkAssert.That(response == SuccessfullyConnectedMessage, "Unable to connect codex nodes.");
|
|
||||||
Log($"Successfully connected to peer {peer.GetName()}.");
|
Log($"Successfully connected to peer {peer.GetName()}.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,17 +166,16 @@ namespace CodexPlugin
|
||||||
Version = debugInfo.Version;
|
Version = debugInfo.Version;
|
||||||
}
|
}
|
||||||
|
|
||||||
private string GetPeerMultiAddress(CodexNode peer, DebugInfo peerInfo)
|
private string[] GetPeerMultiAddresses(CodexNode peer, DebugInfo peerInfo)
|
||||||
{
|
{
|
||||||
var multiAddress = peerInfo.Addrs.First();
|
|
||||||
// Todo: Is there a case where First address in list is not the way?
|
|
||||||
|
|
||||||
// The peer we want to connect is in a different pod.
|
// The peer we want to connect is in a different pod.
|
||||||
// We must replace the default IP with the pod IP in the multiAddress.
|
// We must replace the default IP with the pod IP in the multiAddress.
|
||||||
var workflow = tools.CreateWorkflow();
|
var workflow = tools.CreateWorkflow();
|
||||||
var podInfo = workflow.GetPodInfo(peer.Container);
|
var podInfo = workflow.GetPodInfo(peer.Container);
|
||||||
|
|
||||||
return multiAddress.Replace("0.0.0.0", podInfo.Ip);
|
return peerInfo.Addrs.Select(a => a
|
||||||
|
.Replace("0.0.0.0", podInfo.Ip))
|
||||||
|
.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DownloadToFile(string contentId, TrackedFile file)
|
private void DownloadToFile(string contentId, TrackedFile file)
|
||||||
|
|
Loading…
Reference in New Issue