-
Notifications
You must be signed in to change notification settings - Fork 64
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* add: ChatSample * refactor * refactor * add: run scripts * add: readme * rename: samples Co-authored-by: Papp, Tamás <tpapp@itron.com> Co-authored-by: Gutemberg Ribeiro <galvesribeiro@users.noreply.github.com>
- Loading branch information
1 parent
e34acc5
commit df68518
Showing
21 changed files
with
5,944 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
[Oo]bj/ | ||
[Bb]in/ | ||
TestResults/ | ||
.nuget/ | ||
*.sln.ide/ | ||
_ReSharper.*/ | ||
packages/ | ||
artifacts/ | ||
PublishProfiles/ | ||
.vs/ | ||
*.user | ||
*.suo | ||
*.cache | ||
*.docstates | ||
_ReSharper.* | ||
nuget.exe | ||
*net45.csproj | ||
*net451.csproj | ||
*k10.csproj | ||
*.psess | ||
*.vsp | ||
*.pidb | ||
*.userprefs | ||
*DS_Store | ||
*.ncrunchsolution | ||
*.*sdf | ||
*.ipch | ||
project.lock.json | ||
runtimes/ | ||
.build/ | ||
.testPublish/ | ||
launchSettings.json | ||
node_modules/ | ||
npm-debug.log | ||
*.tmp | ||
*.nuget.props | ||
*.nuget.targets | ||
autobahnreports/ | ||
site.min.css | ||
.idea/ | ||
.vscode/ | ||
signalr-client/ | ||
dist/ | ||
global.json | ||
BenchmarkDotNet.Artifacts/ | ||
korebuild-lock.txt | ||
PullRequestR/android/.gradle/ | ||
!PullRequestR/function-dotnet/.vscode | ||
!PullRequestR/function-javascript/.vscode | ||
!PullRequestR/function-javascript/local.settings.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,208 @@ | ||
# Cloned from: https://github.com/dotnet/roslyn/blob/master/.editorconfig | ||
# EditorConfig is awesome: https://EditorConfig.org | ||
|
||
# top-most EditorConfig file | ||
root = true | ||
|
||
# Don't use tabs for indentation. | ||
[*] | ||
indent_style = space | ||
# (Please don't specify an indent_size here; that has too many unintended consequences.) | ||
|
||
# Code files | ||
[*.{cs,csx,vb,vbx}] | ||
indent_size = 4 | ||
insert_final_newline = true | ||
charset = utf-8-bom | ||
|
||
# XML project files | ||
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] | ||
indent_size = 2 | ||
|
||
# XML config files | ||
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}] | ||
indent_size = 2 | ||
|
||
# JSON files | ||
[*.json] | ||
indent_size = 2 | ||
|
||
# Powershell files | ||
[*.ps1] | ||
indent_size = 2 | ||
|
||
# Shell script files | ||
[*.sh] | ||
end_of_line = lf | ||
indent_size = 2 | ||
|
||
# Dotnet code style settings: | ||
[*.{cs,vb}] | ||
# Sort using and Import directives with System.* appearing first | ||
dotnet_sort_system_directives_first = true | ||
# Avoid "this." and "Me." if not necessary | ||
dotnet_style_qualification_for_field = false:refactoring | ||
dotnet_style_qualification_for_property = false:refactoring | ||
dotnet_style_qualification_for_method = false:refactoring | ||
dotnet_style_qualification_for_event = false:refactoring | ||
|
||
# Use language keywords instead of framework type names for type references | ||
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion | ||
dotnet_style_predefined_type_for_member_access = true:suggestion | ||
|
||
# Suggest more modern language features when available | ||
dotnet_style_object_initializer = true:suggestion | ||
dotnet_style_collection_initializer = true:suggestion | ||
dotnet_style_coalesce_expression = true:suggestion | ||
dotnet_style_null_propagation = true:suggestion | ||
dotnet_style_explicit_tuple_names = true:suggestion | ||
|
||
# Non-private static fields are PascalCase | ||
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.symbols = non_private_static_fields | ||
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.style = non_private_static_field_style | ||
|
||
dotnet_naming_symbols.non_private_static_fields.applicable_kinds = field | ||
dotnet_naming_symbols.non_private_static_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected | ||
dotnet_naming_symbols.non_private_static_fields.required_modifiers = static | ||
|
||
dotnet_naming_style.non_private_static_field_style.capitalization = pascal_case | ||
|
||
# Non-private readonly fields are PascalCase | ||
dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.symbols = non_private_readonly_fields | ||
dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.style = non_private_readonly_field_style | ||
|
||
dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field | ||
dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected | ||
dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly | ||
|
||
dotnet_naming_style.non_private_readonly_field_style.capitalization = pascal_case | ||
|
||
# Constants are PascalCase | ||
dotnet_naming_rule.constants_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.constants_should_be_pascal_case.symbols = constants | ||
dotnet_naming_rule.constants_should_be_pascal_case.style = constant_style | ||
|
||
dotnet_naming_symbols.constants.applicable_kinds = field, local | ||
dotnet_naming_symbols.constants.required_modifiers = const | ||
|
||
dotnet_naming_style.constant_style.capitalization = pascal_case | ||
|
||
# Static fields are camelCase and start with s_ | ||
dotnet_naming_rule.static_fields_should_be_camel_case.severity = suggestion | ||
dotnet_naming_rule.static_fields_should_be_camel_case.symbols = static_fields | ||
dotnet_naming_rule.static_fields_should_be_camel_case.style = static_field_style | ||
|
||
dotnet_naming_symbols.static_fields.applicable_kinds = field | ||
dotnet_naming_symbols.static_fields.required_modifiers = static | ||
|
||
dotnet_naming_style.static_field_style.capitalization = camel_case | ||
dotnet_naming_style.static_field_style.required_prefix = s_ | ||
|
||
# Instance fields are camelCase and start with _ | ||
dotnet_naming_rule.instance_fields_should_be_camel_case.severity = suggestion | ||
dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields | ||
dotnet_naming_rule.instance_fields_should_be_camel_case.style = instance_field_style | ||
|
||
dotnet_naming_symbols.instance_fields.applicable_kinds = field | ||
|
||
dotnet_naming_style.instance_field_style.capitalization = camel_case | ||
dotnet_naming_style.instance_field_style.required_prefix = _ | ||
|
||
# Locals and parameters are camelCase | ||
dotnet_naming_rule.locals_should_be_camel_case.severity = suggestion | ||
dotnet_naming_rule.locals_should_be_camel_case.symbols = locals_and_parameters | ||
dotnet_naming_rule.locals_should_be_camel_case.style = camel_case_style | ||
|
||
dotnet_naming_symbols.locals_and_parameters.applicable_kinds = parameter, local | ||
|
||
dotnet_naming_style.camel_case_style.capitalization = camel_case | ||
|
||
# Local functions are PascalCase | ||
dotnet_naming_rule.local_functions_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.local_functions_should_be_pascal_case.symbols = local_functions | ||
dotnet_naming_rule.local_functions_should_be_pascal_case.style = local_function_style | ||
|
||
dotnet_naming_symbols.local_functions.applicable_kinds = local_function | ||
|
||
dotnet_naming_style.local_function_style.capitalization = pascal_case | ||
|
||
# By default, name items with PascalCase | ||
dotnet_naming_rule.members_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.members_should_be_pascal_case.symbols = all_members | ||
dotnet_naming_rule.members_should_be_pascal_case.style = pascal_case_style | ||
|
||
dotnet_naming_symbols.all_members.applicable_kinds = * | ||
|
||
dotnet_naming_style.pascal_case_style.capitalization = pascal_case | ||
|
||
# CSharp code style settings: | ||
[*.cs] | ||
# Newline settings | ||
csharp_new_line_before_open_brace = all | ||
csharp_new_line_before_else = true | ||
csharp_new_line_before_catch = true | ||
csharp_new_line_before_finally = true | ||
csharp_new_line_before_members_in_object_initializers = true | ||
csharp_new_line_before_members_in_anonymous_types = true | ||
csharp_new_line_between_query_expression_clauses = true | ||
|
||
# Indentation preferences | ||
csharp_indent_block_contents = true | ||
csharp_indent_braces = false | ||
csharp_indent_case_contents = true | ||
csharp_indent_case_contents_when_block = true | ||
csharp_indent_switch_labels = true | ||
csharp_indent_labels = flush_left | ||
|
||
# Prefer "var" everywhere | ||
csharp_style_var_for_built_in_types = true:suggestion | ||
csharp_style_var_when_type_is_apparent = true:suggestion | ||
csharp_style_var_elsewhere = true:suggestion | ||
|
||
# Prefer method-like constructs to have a block body | ||
csharp_style_expression_bodied_methods = false:none | ||
csharp_style_expression_bodied_constructors = false:none | ||
csharp_style_expression_bodied_operators = false:none | ||
|
||
# Prefer property-like constructs to have an expression-body | ||
csharp_style_expression_bodied_properties = true:none | ||
csharp_style_expression_bodied_indexers = true:none | ||
csharp_style_expression_bodied_accessors = true:none | ||
|
||
# Suggest more modern language features when available | ||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion | ||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | ||
csharp_style_inlined_variable_declaration = true:suggestion | ||
csharp_style_throw_expression = true:suggestion | ||
csharp_style_conditional_delegate_call = true:suggestion | ||
|
||
# Space preferences | ||
csharp_space_after_cast = false | ||
csharp_space_after_colon_in_inheritance_clause = true | ||
csharp_space_after_comma = true | ||
csharp_space_after_dot = false | ||
csharp_space_after_keywords_in_control_flow_statements = true | ||
csharp_space_after_semicolon_in_for_statement = true | ||
csharp_space_around_binary_operators = before_and_after | ||
csharp_space_around_declaration_statements = do_not_ignore | ||
csharp_space_before_colon_in_inheritance_clause = true | ||
csharp_space_before_comma = false | ||
csharp_space_before_dot = false | ||
csharp_space_before_open_square_brackets = false | ||
csharp_space_before_semicolon_in_for_statement = false | ||
csharp_space_between_empty_square_brackets = false | ||
csharp_space_between_method_call_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_call_name_and_opening_parenthesis = false | ||
csharp_space_between_method_call_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_name_and_open_parenthesis = false | ||
csharp_space_between_method_declaration_parameter_list_parentheses = false | ||
csharp_space_between_parentheses = false | ||
csharp_space_between_square_brackets = false | ||
|
||
# Blocks are allowed | ||
csharp_prefer_braces = true:silent | ||
csharp_preserve_single_line_blocks = true | ||
csharp_preserve_single_line_statements = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
|
||
Microsoft Visual Studio Solution File, Format Version 12.00 | ||
# Visual Studio Version 16 | ||
VisualStudioVersion = 16.0.29411.108 | ||
MinimumVisualStudioVersion = 10.0.40219.1 | ||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Client", "Client\Client.csproj", "{CD9DEA65-E315-4BA5-B8F6-66EEDCCB1223}" | ||
EndProject | ||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{52C4A1E5-78AA-4475-9F8B-742427E42811}" | ||
ProjectSection(SolutionItems) = preProject | ||
.editorconfig = .editorconfig | ||
README.md = README.md | ||
run-client.cmd = run-client.cmd | ||
run-silo.cmd = run-silo.cmd | ||
EndProjectSection | ||
EndProject | ||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Silo", "Silo\Silo.csproj", "{1884437F-7E3E-4155-8505-887B400C7F92}" | ||
EndProject | ||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Interfaces", "Interfaces\Interfaces.csproj", "{C4929CBD-DA45-4578-A789-92C5DBFC1D9C}" | ||
EndProject | ||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Grains", "Grains\Grains.csproj", "{F45F825E-DD0B-483F-90FE-731D4F818E15}" | ||
EndProject | ||
Global | ||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||
Debug|Any CPU = Debug|Any CPU | ||
Release|Any CPU = Release|Any CPU | ||
EndGlobalSection | ||
GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||
{CD9DEA65-E315-4BA5-B8F6-66EEDCCB1223}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
{CD9DEA65-E315-4BA5-B8F6-66EEDCCB1223}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
{CD9DEA65-E315-4BA5-B8F6-66EEDCCB1223}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
{CD9DEA65-E315-4BA5-B8F6-66EEDCCB1223}.Release|Any CPU.Build.0 = Release|Any CPU | ||
{1884437F-7E3E-4155-8505-887B400C7F92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
{1884437F-7E3E-4155-8505-887B400C7F92}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
{1884437F-7E3E-4155-8505-887B400C7F92}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
{1884437F-7E3E-4155-8505-887B400C7F92}.Release|Any CPU.Build.0 = Release|Any CPU | ||
{C4929CBD-DA45-4578-A789-92C5DBFC1D9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
{C4929CBD-DA45-4578-A789-92C5DBFC1D9C}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
{C4929CBD-DA45-4578-A789-92C5DBFC1D9C}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
{C4929CBD-DA45-4578-A789-92C5DBFC1D9C}.Release|Any CPU.Build.0 = Release|Any CPU | ||
{F45F825E-DD0B-483F-90FE-731D4F818E15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
{F45F825E-DD0B-483F-90FE-731D4F818E15}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
{F45F825E-DD0B-483F-90FE-731D4F818E15}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
{F45F825E-DD0B-483F-90FE-731D4F818E15}.Release|Any CPU.Build.0 = Release|Any CPU | ||
EndGlobalSection | ||
GlobalSection(SolutionProperties) = preSolution | ||
HideSolutionNode = FALSE | ||
EndGlobalSection | ||
GlobalSection(ExtensibilityGlobals) = postSolution | ||
SolutionGuid = {3213FEC9-E3E9-41AE-A017-7F511D4DE8E4} | ||
EndGlobalSection | ||
EndGlobal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<Project Sdk="Microsoft.NET.Sdk.Web"> | ||
|
||
<PropertyGroup> | ||
<TargetFramework>netcoreapp3.0</TargetFramework> | ||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="Microsoft.Extensions.Logging" Version="3.0.0" /> | ||
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.0.0" /> | ||
<PackageReference Include="Microsoft.Orleans.Core" Version="3.0.0" /> | ||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.9.5" /> | ||
<PackageReference Include="SignalR.Orleans" Version="1.5.0" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\Interfaces\Interfaces.csproj" /> | ||
</ItemGroup> | ||
|
||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
using System; | ||
using System.Threading.Tasks; | ||
using Interfaces; | ||
using Microsoft.AspNetCore.SignalR; | ||
using Microsoft.Extensions.Logging; | ||
using Orleans; | ||
|
||
namespace Client.Hubs | ||
{ | ||
public class ChatHub : Hub, IChatHub | ||
{ | ||
private readonly ILogger<ChatHub> _logger; | ||
private readonly IClusterClient _clusterClient; | ||
|
||
public ChatHub(ILogger<ChatHub> logger, IClusterClient clusterClient) | ||
{ | ||
_logger = logger ?? throw new ArgumentNullException(nameof(logger)); | ||
_clusterClient = clusterClient ?? throw new ArgumentNullException(nameof(clusterClient)); | ||
} | ||
|
||
public async Task Send(string name, string message) | ||
{ | ||
_logger.LogInformation($"{nameof(Send)} called. ConnectionId:{Context.ConnectionId}, Name:{name}, Message:{message}"); | ||
|
||
var userNotificationGrain = _clusterClient.GetGrain<IUserNotificationGrain>(Guid.Empty.ToString()); | ||
await userNotificationGrain.SendMessageAsync(name, message); | ||
} | ||
|
||
public override async Task OnConnectedAsync() | ||
{ | ||
_logger.LogInformation($"{nameof(OnConnectedAsync)} called."); | ||
|
||
await base.OnConnectedAsync(); | ||
await Groups.AddToGroupAsync(Context.ConnectionId, Guid.Empty.ToString()); | ||
} | ||
|
||
public override async Task OnDisconnectedAsync(Exception exception) | ||
{ | ||
_logger.LogInformation(exception, $"{nameof(OnDisconnectedAsync)} called."); | ||
|
||
await base.OnDisconnectedAsync(exception); | ||
await Groups.RemoveFromGroupAsync(Context.ConnectionId, Guid.Empty.ToString()); | ||
} | ||
} | ||
} |
Oops, something went wrong.