Skip to content

Commit

Permalink
Add option to use rwdi binaries
Browse files Browse the repository at this point in the history
  • Loading branch information
Grzegorz Rychlik authored and Grzegorz Rychlik committed Nov 16, 2020
1 parent 052d4ec commit e1098d3
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 9 deletions.
24 changes: 16 additions & 8 deletions Src/WebController/Backend/Comms/Customizer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public class Customizer : ICustomizer
private readonly string PayloadTemplateDir;
private readonly int PatchBufferSize;
private readonly bool UseDebugBinaries;
private readonly bool UseRWDIBinaries;

private CommandQueues commandQueue;

Expand All @@ -36,11 +37,12 @@ public Customizer(IConfiguration configuration, CommandQueues cq)
PayloadTemplateDir = customizerConfiguration.GetValue(nameof(PayloadTemplateDir), defaultPayloadTemplateDir);
PatchBufferSize = customizerConfiguration.GetValue(nameof(PatchBufferSize), defaultPatchBufferSize);
UseDebugBinaries = customizerConfiguration.GetValue(nameof(UseDebugBinaries), false);
UseRWDIBinaries = customizerConfiguration.GetValue(nameof(UseRWDIBinaries), false);
}

public byte[] GetGateway(Build.Architecture arch)
{
var c3FileName = Path.Combine(PayloadTemplateDir, GetGatewayFileName(arch, UseDebugBinaries));
var c3FileName = Path.Combine(PayloadTemplateDir, GetGatewayFileName(arch));
return File.ReadAllBytes(c3FileName);
}

Expand All @@ -56,7 +58,7 @@ public async Task<byte[]> CustomizeNodeRelay(RelayBuild build)
if (build is null)
throw new ArgumentNullException(nameof(build));

var c3FileName = Path.Combine(PayloadTemplateDir, GetRelayFileName(build.Type, build.Arch, UseDebugBinaries));
var c3FileName = Path.Combine(PayloadTemplateDir, GetRelayFileName(build.Type, build.Arch));
var bin = File.ReadAllBytes(c3FileName);

// FIXME support more then one startupCommand
Expand Down Expand Up @@ -108,15 +110,21 @@ private static IEnumerable<byte> GetPreparedResource(byte[] password, byte[] res
.Concat(RC4.Encrypt(password, resource));
}

private static string GetRelayFileName(Build.BinaryType binaryType, Build.Architecture arch, bool debug = false) =>
String.Format(payloadTemplateFiles[binaryType], GetBinaryDescription(arch, debug));
private string GetRelayFileName(Build.BinaryType binaryType, Build.Architecture arch) =>
String.Format(payloadTemplateFiles[binaryType], GetBinaryDescription(arch));

private static string GetGatewayFileName(Build.Architecture arch, bool debug = false) =>
String.Format(gatewayFile, GetBinaryDescription(arch, debug));
private string GetGatewayFileName(Build.Architecture arch) =>
String.Format(gatewayFile, GetBinaryDescription(arch));

private static string GetBinaryDescription(Build.Architecture arch, bool debug = false)
private string GetBinaryDescription(Build.Architecture arch)
{
var config = debug ? "d" : "r";
string config;
if (this.UseDebugBinaries)
config = "d";
else if (this.UseRWDIBinaries)
config = "rwdi";
else
config = "r";
var ar = arch == Build.Architecture.X64 ? "64" : "86";
return $"{config}{ar}";
}
Expand Down
3 changes: 2 additions & 1 deletion Src/WebController/Backend/appsettings.Development.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
},
"Customizer": {
"payloadTemplateDir": "../../../Bin/",
"UseDebugBinaries": false
"UseDebugBinaries": false,
"UseRWDIBinaries": true
},
"ApiBridge": {
"Host": "127.0.0.1",
Expand Down

0 comments on commit e1098d3

Please sign in to comment.