Skip to content

Commit

Permalink
fix regression
Browse files Browse the repository at this point in the history
  • Loading branch information
Jacques Kang committed Nov 19, 2018
1 parent 9094df6 commit f85b56b
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 31 deletions.
58 changes: 29 additions & 29 deletions src/IpcServiceSample.ConsoleClient/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,41 +26,41 @@ private static async Task MainAsync(string[] args)
.UseTcp(IPAddress.Loopback, 45684)
.Build();

//// test 1: call IPC service method with primitive types
//float result1 = await computingClient.InvokeAsync(x => x.AddFloat(1.23f, 4.56f));
//Console.WriteLine($"[TEST 1] sum of 2 floating number is: {result1}");
// test 1: call IPC service method with primitive types
float result1 = await computingClient.InvokeAsync(x => x.AddFloat(1.23f, 4.56f));
Console.WriteLine($"[TEST 1] sum of 2 floating number is: {result1}");

//// test 2: call IPC service method with complex types
//ComplexNumber result2 = await computingClient.InvokeAsync(x => x.AddComplexNumber(
// new ComplexNumber(0.1f, 0.3f),
// new ComplexNumber(0.2f, 0.6f)));
//Console.WriteLine($"[TEST 2] sum of 2 complexe number is: {result2.A}+{result2.B}i");
// test 2: call IPC service method with complex types
ComplexNumber result2 = await computingClient.InvokeAsync(x => x.AddComplexNumber(
new ComplexNumber(0.1f, 0.3f),
new ComplexNumber(0.2f, 0.6f)));
Console.WriteLine($"[TEST 2] sum of 2 complexe number is: {result2.A}+{result2.B}i");

//// test 3: call IPC service method with an array of complex types
//ComplexNumber result3 = await computingClient.InvokeAsync(x => x.AddComplexNumbers(new[]
//{
// new ComplexNumber(0.5f, 0.4f),
// new ComplexNumber(0.2f, 0.1f),
// new ComplexNumber(0.3f, 0.5f),
//}));
//Console.WriteLine($"[TEST 3] sum of 3 complexe number is: {result3.A}+{result3.B}i");
// test 3: call IPC service method with an array of complex types
ComplexNumber result3 = await computingClient.InvokeAsync(x => x.AddComplexNumbers(new[]
{
new ComplexNumber(0.5f, 0.4f),
new ComplexNumber(0.2f, 0.1f),
new ComplexNumber(0.3f, 0.5f),
}));
Console.WriteLine($"[TEST 3] sum of 3 complexe number is: {result3.A}+{result3.B}i");

//// test 4: call IPC service method without parameter or return
//await systemClient.InvokeAsync(x => x.DoNothing());
//Console.WriteLine($"[TEST 4] invoked DoNothing()");
// test 4: call IPC service method without parameter or return
await systemClient.InvokeAsync(x => x.DoNothing());
Console.WriteLine($"[TEST 4] invoked DoNothing()");

//// test 5: call IPC service method with enum parameter
//string text = await systemClient.InvokeAsync(x => x.ConvertText("hEllO woRd!", TextStyle.Upper));
//Console.WriteLine($"[TEST 5] {text}");
// test 5: call IPC service method with enum parameter
string text = await systemClient.InvokeAsync(x => x.ConvertText("hEllO woRd!", TextStyle.Upper));
Console.WriteLine($"[TEST 5] {text}");

//// test 6: call IPC service method returning GUID
//Guid generatedId = await systemClient.InvokeAsync(x => x.GenerateId());
//Console.WriteLine($"[TEST 6] generated ID is: {generatedId}");
// test 6: call IPC service method returning GUID
Guid generatedId = await systemClient.InvokeAsync(x => x.GenerateId());
Console.WriteLine($"[TEST 6] generated ID is: {generatedId}");

//// test 7: call IPC service method with byte array
//byte[] input = Encoding.UTF8.GetBytes("Test");
//byte[] reversed = await systemClient.InvokeAsync(x => x.ReverseBytes(input));
//Console.WriteLine($"[TEST 7] reversed bytes are: {Convert.ToBase64String(reversed)}");
// test 7: call IPC service method with byte array
byte[] input = Encoding.UTF8.GetBytes("Test");
byte[] reversed = await systemClient.InvokeAsync(x => x.ReverseBytes(input));
Console.WriteLine($"[TEST 7] reversed bytes are: {Convert.ToBase64String(reversed)}");

// test 8: call IPC service method with generic parameter
string print = await systemClient.InvokeAsync(x => x.Printout(DateTime.UtcNow));
Expand Down
8 changes: 7 additions & 1 deletion src/JKang.IpcServiceFramework.Core/IpcRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,14 @@ namespace JKang.IpcServiceFramework
{
public class IpcRequest
{
private Type[] _genericArguments = new Type[0];

public string MethodName { get; set; }
public object[] Parameters { get; set; }
public Type[] GenericArguments { get; set; }
public Type[] GenericArguments
{
get => _genericArguments ?? new Type[0];
set => _genericArguments = value;
}
}
}
2 changes: 1 addition & 1 deletion src/JKang.IpcServiceFramework.Server/IpcServiceEndpoint.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ protected async Task ProcessAsync(Stream server, ILogger logger, CancellationTok

cancellationToken.ThrowIfCancellationRequested();

logger?.LogDebug($"[thread {Thread.CurrentThread.ManagedThreadId}] request received, invoking corresponding method...");
logger?.LogDebug($"[thread {Thread.CurrentThread.ManagedThreadId}] request received, invoking '{request.MethodName}'...");
IpcResponse response;
using (IServiceScope scope = ServiceProvider.CreateScope())
{
Expand Down

0 comments on commit f85b56b

Please sign in to comment.