diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index cc84a50010fab1bf9fee4ff0abffdef77d805e05..0000000000000000000000000000000000000000
--- a/.gitattributes
+++ /dev/null
@@ -1,58 +0,0 @@
-*.doc  diff=astextplain
-*.DOC	diff=astextplain
-*.docx	diff=astextplain
-*.DOCX	diff=astextplain
-*.dot	diff=astextplain
-*.DOT	diff=astextplain
-*.pdf	diff=astextplain
-*.PDF	diff=astextplain
-*.rtf	diff=astextplain
-*.RTF	diff=astextplain
-
-*.jpg  	binary
-*.png 	binary
-*.gif 	binary
-
-*.cs text=auto diff=csharp 
-*.vb text=auto
-*.resx text=auto
-*.c text=auto
-*.cpp text=auto
-*.cxx text=auto
-*.h text=auto
-*.hxx text=auto
-*.py text=auto
-*.rb text=auto
-*.java text=auto
-*.html text=auto
-*.htm text=auto
-*.css text=auto
-*.scss text=auto
-*.sass text=auto
-*.less text=auto
-*.js text=auto
-*.lisp text=auto
-*.clj text=auto
-*.sql text=auto
-*.php text=auto
-*.lua text=auto
-*.m text=auto
-*.asm text=auto
-*.erl text=auto
-*.fs text=auto
-*.fsx text=auto
-*.hs text=auto
-
-*.csproj text=auto
-*.vbproj text=auto
-*.fsproj text=auto
-*.dbproj text=auto
-*.sln text=auto eol=crlf
-
-*.sh eol=lf
-
-# Workaround for npm changing line endings from CRLF to LF on Windows. Should be fixed in npm 5.8.0.
-# https://github.com/npm/npm/issues/17161#issuecomment-337696678
-# https://github.com/npm/npm/releases/tag/v5.8.0-next.0
-package.json text eol=lf
-package-lock.json text eol=lf
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
deleted file mode 100644
index 09e555e864e0f86c0020403b7c31c477ce694d8f..0000000000000000000000000000000000000000
--- a/.github/ISSUE_TEMPLATE.md
+++ /dev/null
@@ -1,19 +0,0 @@
-### If you believe you have an issue that affects the security of the platform please do NOT create an issue and instead email your issue details to secure@microsoft.com. Your report may be eligible for our [bug bounty](https://technet.microsoft.com/en-us/mt764065.aspx).
-
-### Please consider the following before filing an issue
-
-* If you are using NuGet Packages that start with `Microsoft.AspNet.SignalR`, use the issue tracker at https://github.com/SignalR/SignalR to report the issue. This 
-repository is for packages that start with `Microsoft.AspNetCore.SignalR` (and NPM packages that start with `@aspnet/signalr`)
-
-### Please include as much of the following as you can in your bug report
-
-* Versions of Server-Side NuGet Packages:
-* Versions of Client-Side NuGet/NPM Packages:
-* Are you using the C# client or the JavaScript client:
-* The Server you are using (Kestrel/HttpSysServer/IIS/IIS Express/Azure Web App/etc.): 
-* The Operating System on the Server (Windows/Linux/macOS):
-* The Operating System on the Client (Windows/Linux/macOS):
-* The Browser on the client, if using the JavaScript client (IE/Chrome/Edge/Firefox/etc.):
-* Please use the Diagnostics Guide at https://github.com/aspnet/SignalR/wiki/Diagnostics-Guide to collect server-side and client-side logs and network traces if possible. Please **do not** put the traces and logs in the Issue text as they are quite large. The Diagnostics Guide describes how to attach them to the issue.
-
-When in doubt, feel free to file the issue, we're happy to help answer questions. We also suggest using the `asp.net-core-signalr` tag on StackOverflow to ask questions.
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 537cb2cac5213d8b5b81a5cbf2a3b18dd70e8cfe..0000000000000000000000000000000000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-language: csharp
-sudo: required
-dist: trusty
-services:
-- docker
-env:
-  global:
-  - SIGNALR_TESTS_VERBOSE: 1
-  - TRAVIS_NODE_VERSION: 8.9.3
-mono: none
-os:
-- linux
-- osx
-osx_image: xcode8.2
-addons:
-  chrome: stable
-  apt:
-    packages:
-    - libunwind8
-branches:
-  only:
-  - master
-  - /^release\/.*$/
-  - /^(.*\/)?ci-.*$/
-before_install:
-- nvm install $TRAVIS_NODE_VERSION
-- if test "$TRAVIS_OS_NAME" == "linux"; then docker pull redis; fi
-script:
-- ./build.sh --ci
diff --git a/.vscode/launch.json b/.vscode/launch.json
deleted file mode 100644
index cc0f2cbe68f679a18bce245a9b1f3bf25c5ea09e..0000000000000000000000000000000000000000
--- a/.vscode/launch.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
-    "version": "0.2.0",
-    "configurations": [
-        {
-            "type": "java",
-            "name": "Java - Debug (Launch)",
-            "request": "launch",
-            "cwd": "${workspaceFolder}/clients/java/",
-            "console": "externalTerminal",
-            "stopOnEntry": false,
-            "mainClass": "com.microsoft.signalr.sample.Chat",
-            "args": ""
-        },
-        {
-            "type": "node",
-            "request": "attach",
-            "name": "Node - Attach by Process ID",
-            "processId": "${command:PickProcess}"
-        },
-        {
-            "type": "node",
-            "request": "launch",
-            "name": "Jest - All",
-            "program": "${workspaceFolder}/clients/ts/common/node_modules/jest/bin/jest",
-            "cwd": "${workspaceFolder}/clients/ts",
-            "args": ["--runInBand"],
-            "console": "integratedTerminal",
-            "internalConsoleOptions": "neverOpen"
-          },
-          {
-            "type": "node",
-            "request": "launch",
-            "name": "Jest - Current File",
-            "program": "${workspaceFolder}/clients/ts/common/node_modules/jest/bin/jest",
-            "cwd": "${workspaceFolder}/clients/ts",
-            "args": ["${relativeFile}"],
-            "console": "integratedTerminal",
-            "internalConsoleOptions": "neverOpen"
-          }
-    ]
-}
\ No newline at end of file
diff --git a/.vsts-pipelines/builds/ci-internal.yml b/.vsts-pipelines/builds/ci-internal.yml
deleted file mode 100644
index 4d6b5c7444694002a786b364b3f707c508366363..0000000000000000000000000000000000000000
--- a/.vsts-pipelines/builds/ci-internal.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-trigger:
-- master
-- release/*
-
-resources:
-  repositories:
-  - repository: buildtools
-    type: git
-    name: aspnet-BuildTools
-    ref: refs/heads/master
-
-jobs:
-- template: .azure/templates/project-ci.yml@buildtools
-  parameters:
-    beforeBuild:
-    - task: NodeTool@0
-      displayName: Use Node 8.x
-      inputs:
-        versionSpec: 8.x
diff --git a/.vsts-pipelines/builds/ci-public.yml b/.vsts-pipelines/builds/ci-public.yml
deleted file mode 100644
index 5662cbc57b773d31b0a48de87dc24bc0c59c7e13..0000000000000000000000000000000000000000
--- a/.vsts-pipelines/builds/ci-public.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-trigger:
-- master
-- release/*
-
-# See https://github.com/aspnet/BuildTools
-resources:
-  repositories:
-  - repository: buildtools
-    type: github
-    endpoint: DotNet-Bot GitHub Connection
-    name: aspnet/BuildTools
-    ref: refs/heads/master
-
-jobs:
-- template: .azure/templates/project-ci.yml@buildtools
-  parameters:
-    beforeBuild:
-    - task: NodeTool@0
-      displayName: Use Node 8.x
-      inputs:
-        versionSpec: 8.x
diff --git a/.vsts-pipelines/builds/slow-tests-internal.yml b/.vsts-pipelines/builds/slow-tests-internal.yml
deleted file mode 100644
index dbb62aacfbebfd82c9e3dc4ea10a62a6f480b970..0000000000000000000000000000000000000000
--- a/.vsts-pipelines/builds/slow-tests-internal.yml
+++ /dev/null
@@ -1,46 +0,0 @@
-trigger:
-- master
-- release/*
-
-phases:
-  - phase: "Build"
-    queue:
-      name: Hosted VS2017
-    steps:
-    - task: NodeTool@0
-      displayName: Use Node >=9.11.1
-      inputs:
-        versionSpec: '>=9.11.1'
-        checkLatest: true
-
-    - task: BatchScript@1
-      displayName: Build
-      inputs:
-        filename: './build.cmd'
-        arguments: '/p:SkipTests=true'
-        modifyEnvironment: false
-
-    - task: PowerShell@1
-      displayName: Publish Samples
-      inputs:
-        scriptName: './build/publish-apps.ps1'
-        arguments: '-RootDirectory $(Build.SourcesDirectory) -CommitHash $(Build.SourceVersion) -BranchName $(Build.SourceBranch) -BuildNumber $(Build.BuildNumber)'
-
-    - task: AzureRmWebAppDeployment@3
-      displayName: Deploy FunctionalTests
-      inputs:
-        azureSubscription: SignalR Functional Testing Azure Connection
-        WebAppName: '$(Parameters.FunctionalTestAppName)'
-        Package: '$(Build.SourcesDirectory)/artifacts/apps/FunctionalTests'
-        TakeAppOfflineFlag: true
-      continueOnError: true
-
-    - task: AzureRmWebAppDeployment@3
-      displayName: Deploy SignalRSamples
-      inputs:
-        azureSubscription: SignalR Functional Testing Azure Connection
-        WebAppName: '$(Parameters.SamplesAppName)'
-        Package: '$(Build.SourcesDirectory)/artifacts/apps/SignalRSamples'
-        TakeAppOfflineFlag: true
-      continueOnError: true
-
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index eac4268e4c97dc979c89a79ed8705c9998506413..0000000000000000000000000000000000000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,4 +0,0 @@
-Contributing
-======
-
-Information on contributing to this repo is in the [Contributing Guide](https://github.com/aspnet/Home/blob/master/CONTRIBUTING.md) in the Home repo.
diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100644
index b3b180cd51e903437bdd4a37c1c8f054b2a3a131..0000000000000000000000000000000000000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright (c) .NET Foundation and Contributors
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/NuGet.config b/NuGet.config
deleted file mode 100644
index 1280d2db385cd4c9bee70522bc5277f60fb3c5e2..0000000000000000000000000000000000000000
--- a/NuGet.config
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
-  <packageSources>
-    <clear />
-    <!-- Restore sources should be defined in build/sources.props -->
-  </packageSources>
-</configuration>
diff --git a/build.cmd b/build.cmd
deleted file mode 100644
index c0050bda125e73f3745de70a4021262eaa048c7b..0000000000000000000000000000000000000000
--- a/build.cmd
+++ /dev/null
@@ -1,2 +0,0 @@
-@ECHO OFF
-PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' default-build %*; exit $LASTEXITCODE"
diff --git a/build.sh b/build.sh
deleted file mode 100755
index 98a4b227658413eca2adb0d1d2d68178a80155cf..0000000000000000000000000000000000000000
--- a/build.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-# Call "sync" between "chmod" and execution to prevent "text file busy" error in Docker (aufs)
-chmod +x "$DIR/run.sh"; sync
-"$DIR/run.sh" default-build "$@"
diff --git a/clients/cpp/test/gtest/googletest b/clients/cpp/test/gtest/googletest
deleted file mode 160000
index 4e4df226fc197c0dda6e37f5c8c3845ca1e73a49..0000000000000000000000000000000000000000
--- a/clients/cpp/test/gtest/googletest
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 4e4df226fc197c0dda6e37f5c8c3845ca1e73a49
diff --git a/korebuild-lock.txt b/korebuild-lock.txt
deleted file mode 100644
index 3400cb92d8b7c024a62da952e21e07fef66cd082..0000000000000000000000000000000000000000
--- a/korebuild-lock.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-version:3.0.0-build-20181114.5
-commithash:880e9a204d4ee4a18dfd83c9fb05a192a28bca60
diff --git a/korebuild.json b/korebuild.json
deleted file mode 100644
index ce2e15a0550b32378ec5e497417056e8fbf0d661..0000000000000000000000000000000000000000
--- a/korebuild.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json",
-  "channel": "master",
-  "toolsets": {
-    "nodejs": {
-      "required": true,
-      "minVersion": "8.0"
-    }
-  }
-}
diff --git a/run.cmd b/run.cmd
deleted file mode 100644
index d52d5c7e689e8108ed0f0b83a22b61375fde8fef..0000000000000000000000000000000000000000
--- a/run.cmd
+++ /dev/null
@@ -1,2 +0,0 @@
-@ECHO OFF
-PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' %*; exit $LASTEXITCODE"
diff --git a/run.ps1 b/run.ps1
deleted file mode 100644
index 34604c7175877351351d0a60c3f60c90673c8cdf..0000000000000000000000000000000000000000
--- a/run.ps1
+++ /dev/null
@@ -1,209 +0,0 @@
-#!/usr/bin/env powershell
-#requires -version 4
-
-<#
-.SYNOPSIS
-Executes KoreBuild commands.
-
-.DESCRIPTION
-Downloads korebuild if required. Then executes the KoreBuild command. To see available commands, execute with `-Command help`.
-
-.PARAMETER Command
-The KoreBuild command to run.
-
-.PARAMETER Path
-The folder to build. Defaults to the folder containing this script.
-
-.PARAMETER Channel
-The channel of KoreBuild to download. Overrides the value from the config file.
-
-.PARAMETER DotNetHome
-The directory where .NET Core tools will be stored.
-
-.PARAMETER ToolsSource
-The base url where build tools can be downloaded. Overrides the value from the config file.
-
-.PARAMETER Update
-Updates KoreBuild to the latest version even if a lock file is present.
-
-.PARAMETER Reinstall
-Re-installs KoreBuild
-
-.PARAMETER ConfigFile
-The path to the configuration file that stores values. Defaults to korebuild.json.
-
-.PARAMETER ToolsSourceSuffix
-The Suffix to append to the end of the ToolsSource. Useful for query strings in blob stores.
-
-.PARAMETER CI
-Sets up CI specific settings and variables.
-
-.PARAMETER Arguments
-Arguments to be passed to the command
-
-.NOTES
-This function will create a file $PSScriptRoot/korebuild-lock.txt. This lock file can be committed to source, but does not have to be.
-When the lockfile is not present, KoreBuild will create one using latest available version from $Channel.
-
-The $ConfigFile is expected to be an JSON file. It is optional, and the configuration values in it are optional as well. Any options set
-in the file are overridden by command line parameters.
-
-.EXAMPLE
-Example config file:
-```json
-{
-  "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json",
-  "channel": "master",
-  "toolsSource": "https://aspnetcore.blob.core.windows.net/buildtools"
-}
-```
-#>
-[CmdletBinding(PositionalBinding = $false)]
-param(
-    [Parameter(Mandatory = $true, Position = 0)]
-    [string]$Command,
-    [string]$Path = $PSScriptRoot,
-    [Alias('c')]
-    [string]$Channel,
-    [Alias('d')]
-    [string]$DotNetHome,
-    [Alias('s')]
-    [string]$ToolsSource,
-    [Alias('u')]
-    [switch]$Update,
-    [switch]$Reinstall,
-    [string]$ToolsSourceSuffix,
-    [string]$ConfigFile = $null,
-    [switch]$CI,
-    [Parameter(ValueFromRemainingArguments = $true)]
-    [string[]]$Arguments
-)
-
-Set-StrictMode -Version 2
-$ErrorActionPreference = 'Stop'
-
-#
-# Functions
-#
-
-function Get-KoreBuild {
-
-    $lockFile = Join-Path $Path 'korebuild-lock.txt'
-
-    if (!(Test-Path $lockFile) -or $Update) {
-        Get-RemoteFile "$ToolsSource/korebuild/channels/$Channel/latest.txt" $lockFile $ToolsSourceSuffix
-    }
-
-    $version = Get-Content $lockFile | Where-Object { $_ -like 'version:*' } | Select-Object -first 1
-    if (!$version) {
-        Write-Error "Failed to parse version from $lockFile. Expected a line that begins with 'version:'"
-    }
-    $version = $version.TrimStart('version:').Trim()
-    $korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version)
-
-    if ($Reinstall -and (Test-Path $korebuildPath)) {
-        Remove-Item -Force -Recurse $korebuildPath
-    }
-
-    if (!(Test-Path $korebuildPath)) {
-        Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version"
-        New-Item -ItemType Directory -Path $korebuildPath | Out-Null
-        $remotePath = "$ToolsSource/korebuild/artifacts/$version/korebuild.$version.zip"
-
-        try {
-            $tmpfile = Join-Path ([IO.Path]::GetTempPath()) "KoreBuild-$([guid]::NewGuid()).zip"
-            Get-RemoteFile $remotePath $tmpfile $ToolsSourceSuffix
-            if (Get-Command -Name 'Microsoft.PowerShell.Archive\Expand-Archive' -ErrorAction Ignore) {
-                # Use built-in commands where possible as they are cross-plat compatible
-                Microsoft.PowerShell.Archive\Expand-Archive -Path $tmpfile -DestinationPath $korebuildPath
-            }
-            else {
-                # Fallback to old approach for old installations of PowerShell
-                Add-Type -AssemblyName System.IO.Compression.FileSystem
-                [System.IO.Compression.ZipFile]::ExtractToDirectory($tmpfile, $korebuildPath)
-            }
-        }
-        catch {
-            Remove-Item -Recurse -Force $korebuildPath -ErrorAction Ignore
-            throw
-        }
-        finally {
-            Remove-Item $tmpfile -ErrorAction Ignore
-        }
-    }
-
-    return $korebuildPath
-}
-
-function Join-Paths([string]$path, [string[]]$childPaths) {
-    $childPaths | ForEach-Object { $path = Join-Path $path $_ }
-    return $path
-}
-
-function Get-RemoteFile([string]$RemotePath, [string]$LocalPath, [string]$RemoteSuffix) {
-    if ($RemotePath -notlike 'http*') {
-        Copy-Item $RemotePath $LocalPath
-        return
-    }
-
-    $retries = 10
-    while ($retries -gt 0) {
-        $retries -= 1
-        try {
-            Invoke-WebRequest -UseBasicParsing -Uri $($RemotePath + $RemoteSuffix) -OutFile $LocalPath
-            return
-        }
-        catch {
-            Write-Verbose "Request failed. $retries retries remaining"
-        }
-    }
-
-    Write-Error "Download failed: '$RemotePath'."
-}
-
-#
-# Main
-#
-
-# Load configuration or set defaults
-
-$Path = Resolve-Path $Path
-if (!$ConfigFile) { $ConfigFile = Join-Path $Path 'korebuild.json' }
-
-if (Test-Path $ConfigFile) {
-    try {
-        $config = Get-Content -Raw -Encoding UTF8 -Path $ConfigFile | ConvertFrom-Json
-        if ($config) {
-            if (!($Channel) -and (Get-Member -Name 'channel' -InputObject $config)) { [string] $Channel = $config.channel }
-            if (!($ToolsSource) -and (Get-Member -Name 'toolsSource' -InputObject $config)) { [string] $ToolsSource = $config.toolsSource}
-        }
-    }
-    catch {
-        Write-Host -ForegroundColor Red $Error[0]
-        Write-Error "$ConfigFile contains invalid JSON."
-        exit 1
-    }
-}
-
-if (!$DotNetHome) {
-    $DotNetHome = if ($env:DOTNET_HOME) { $env:DOTNET_HOME } `
-        elseif ($env:USERPROFILE) { Join-Path $env:USERPROFILE '.dotnet'} `
-        elseif ($env:HOME) {Join-Path $env:HOME '.dotnet'}`
-        else { Join-Path $PSScriptRoot '.dotnet'}
-}
-
-if (!$Channel) { $Channel = 'master' }
-if (!$ToolsSource) { $ToolsSource = 'https://aspnetcore.blob.core.windows.net/buildtools' }
-
-# Execute
-
-$korebuildPath = Get-KoreBuild
-Import-Module -Force -Scope Local (Join-Path $korebuildPath 'KoreBuild.psd1')
-
-try {
-    Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile -CI:$CI
-    Invoke-KoreBuildCommand $Command @Arguments
-}
-finally {
-    Remove-Module 'KoreBuild' -ErrorAction Ignore
-}
diff --git a/run.sh b/run.sh
deleted file mode 100755
index 4c1fed5646ca811ed28e7bd5f47ec62da9a1fe9f..0000000000000000000000000000000000000000
--- a/run.sh
+++ /dev/null
@@ -1,256 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-
-#
-# variables
-#
-
-RESET="\033[0m"
-RED="\033[0;31m"
-YELLOW="\033[0;33m"
-MAGENTA="\033[0;95m"
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-[ -z "${DOTNET_HOME:-}" ] && DOTNET_HOME="$HOME/.dotnet"
-verbose=false
-update=false
-reinstall=false
-repo_path="$DIR"
-channel=''
-tools_source=''
-tools_source_suffix=''
-ci=false
-
-#
-# Functions
-#
-__usage() {
-    echo "Usage: $(basename "${BASH_SOURCE[0]}") command [options] [[--] <Arguments>...]"
-    echo ""
-    echo "Arguments:"
-    echo "    command                The command to be run."
-    echo "    <Arguments>...         Arguments passed to the command. Variable number of arguments allowed."
-    echo ""
-    echo "Options:"
-    echo "    --verbose                                             Show verbose output."
-    echo "    -c|--channel <CHANNEL>                                The channel of KoreBuild to download. Overrides the value from the config file.."
-    echo "    --config-file <FILE>                                  The path to the configuration file that stores values. Defaults to korebuild.json."
-    echo "    -d|--dotnet-home <DIR>                                The directory where .NET Core tools will be stored. Defaults to '\$DOTNET_HOME' or '\$HOME/.dotnet."
-    echo "    --path <PATH>                                         The directory to build. Defaults to the directory containing the script."
-    echo "    -s|--tools-source|-ToolsSource <URL>                  The base url where build tools can be downloaded. Overrides the value from the config file."
-    echo "    --tools-source-suffix|-ToolsSourceSuffix <SUFFIX>     The suffix to append to tools-source. Useful for query strings."
-    echo "    -u|--update                                           Update to the latest KoreBuild even if the lock file is present."
-    echo "    --reinstall                                           Reinstall KoreBuild."
-    echo "    --ci                                                  Apply CI specific settings and environment variables."
-    echo ""
-    echo "Description:"
-    echo "    This function will create a file \$DIR/korebuild-lock.txt. This lock file can be committed to source, but does not have to be."
-    echo "    When the lockfile is not present, KoreBuild will create one using latest available version from \$channel."
-
-    if [[ "${1:-}" != '--no-exit' ]]; then
-        exit 2
-    fi
-}
-
-get_korebuild() {
-    local version
-    local lock_file="$repo_path/korebuild-lock.txt"
-    if [ ! -f "$lock_file" ] || [ "$update" = true ]; then
-        __get_remote_file "$tools_source/korebuild/channels/$channel/latest.txt" "$lock_file" "$tools_source_suffix"
-    fi
-    version="$(grep 'version:*' -m 1 "$lock_file")"
-    if [[ "$version" == '' ]]; then
-        __error "Failed to parse version from $lock_file. Expected a line that begins with 'version:'"
-        return 1
-    fi
-    version="$(echo "${version#version:}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
-    local korebuild_path="$DOTNET_HOME/buildtools/korebuild/$version"
-
-    if [ "$reinstall" = true ] && [ -d "$korebuild_path" ]; then
-        rm -rf "$korebuild_path"
-    fi
-
-    {
-        if [ ! -d "$korebuild_path" ]; then
-            mkdir -p "$korebuild_path"
-            local remote_path="$tools_source/korebuild/artifacts/$version/korebuild.$version.zip"
-            tmpfile="$(mktemp)"
-            echo -e "${MAGENTA}Downloading KoreBuild ${version}${RESET}"
-            if __get_remote_file "$remote_path" "$tmpfile" "$tools_source_suffix"; then
-                unzip -q -d "$korebuild_path" "$tmpfile"
-            fi
-            rm "$tmpfile" || true
-        fi
-
-        source "$korebuild_path/KoreBuild.sh"
-    } || {
-        if [ -d "$korebuild_path" ]; then
-            echo "Cleaning up after failed installation"
-            rm -rf "$korebuild_path" || true
-        fi
-        return 1
-    }
-}
-
-__error() {
-    echo -e "${RED}error: $*${RESET}" 1>&2
-}
-
-__warn() {
-    echo -e "${YELLOW}warning: $*${RESET}"
-}
-
-__machine_has() {
-    hash "$1" > /dev/null 2>&1
-    return $?
-}
-
-__get_remote_file() {
-    local remote_path=$1
-    local local_path=$2
-    local remote_path_suffix=$3
-
-    if [[ "$remote_path" != 'http'* ]]; then
-        cp "$remote_path" "$local_path"
-        return 0
-    fi
-
-    local failed=false
-    if __machine_has wget; then
-        wget --tries 10 --quiet -O "$local_path" "${remote_path}${remote_path_suffix}" || failed=true
-    else
-        failed=true
-    fi
-
-    if [ "$failed" = true ] && __machine_has curl; then
-        failed=false
-        curl --retry 10 -sSL -f --create-dirs -o "$local_path" "${remote_path}${remote_path_suffix}" || failed=true
-    fi
-
-    if [ "$failed" = true ]; then
-        __error "Download failed: $remote_path" 1>&2
-        return 1
-    fi
-}
-
-#
-# main
-#
-
-command="${1:-}"
-shift
-
-while [[ $# -gt 0 ]]; do
-    case $1 in
-        -\?|-h|--help)
-            __usage --no-exit
-            exit 0
-            ;;
-        -c|--channel|-Channel)
-            shift
-            channel="${1:-}"
-            [ -z "$channel" ] && __usage
-            ;;
-        --config-file|-ConfigFile)
-            shift
-            config_file="${1:-}"
-            [ -z "$config_file" ] && __usage
-            if [ ! -f "$config_file" ]; then
-                __error "Invalid value for --config-file. $config_file does not exist."
-                exit 1
-            fi
-            ;;
-        -d|--dotnet-home|-DotNetHome)
-            shift
-            DOTNET_HOME="${1:-}"
-            [ -z "$DOTNET_HOME" ] && __usage
-            ;;
-        --path|-Path)
-            shift
-            repo_path="${1:-}"
-            [ -z "$repo_path" ] && __usage
-            ;;
-        -s|--tools-source|-ToolsSource)
-            shift
-            tools_source="${1:-}"
-            [ -z "$tools_source" ] && __usage
-            ;;
-        --tools-source-suffix|-ToolsSourceSuffix)
-            shift
-            tools_source_suffix="${1:-}"
-            [ -z "$tools_source_suffix" ] && __usage
-            ;;
-        -u|--update|-Update)
-            update=true
-            ;;
-        --reinstall|-[Rr]einstall)
-            reinstall=true
-            ;;
-        --ci|-[Cc][Ii])
-            ci=true
-            ;;
-        --verbose|-Verbose)
-            verbose=true
-            ;;
-        --)
-            shift
-            break
-            ;;
-        *)
-            break
-            ;;
-    esac
-    shift
-done
-
-if ! __machine_has unzip; then
-    __error 'Missing required command: unzip'
-    exit 1
-fi
-
-if ! __machine_has curl && ! __machine_has wget; then
-    __error 'Missing required command. Either wget or curl is required.'
-    exit 1
-fi
-
-[ -z "${config_file:-}" ] && config_file="$repo_path/korebuild.json"
-if [ -f "$config_file" ]; then
-    if __machine_has jq ; then
-        if jq '.' "$config_file" >/dev/null ; then
-            config_channel="$(jq -r 'select(.channel!=null) | .channel' "$config_file")"
-            config_tools_source="$(jq -r 'select(.toolsSource!=null) | .toolsSource' "$config_file")"
-        else
-            __error "$config_file contains invalid JSON."
-            exit 1
-        fi
-    elif __machine_has python ; then
-        if python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then
-            config_channel="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")"
-            config_tools_source="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")"
-        else
-            __error "$config_file contains invalid JSON."
-            exit 1
-        fi
-    elif __machine_has python3 ; then
-        if python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then
-            config_channel="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")"
-            config_tools_source="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")"
-        else
-            __error "$config_file contains invalid JSON."
-            exit 1
-        fi
-    else
-        __error 'Missing required command: jq or python. Could not parse the JSON file.'
-        exit 1
-    fi
-
-    [ ! -z "${config_channel:-}" ] && channel="$config_channel"
-    [ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source"
-fi
-
-[ -z "$channel" ] && channel='master'
-[ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools'
-
-get_korebuild
-set_korebuildsettings "$tools_source" "$DOTNET_HOME" "$repo_path" "$config_file" "$ci"
-invoke_korebuild_command "$command" "$@"
diff --git a/.gitignore b/src/SignalR/.gitignore
similarity index 100%
rename from .gitignore
rename to src/SignalR/.gitignore
diff --git a/.gitmodules b/src/SignalR/.gitmodules
similarity index 100%
rename from .gitmodules
rename to src/SignalR/.gitmodules
diff --git a/Directory.Build.props b/src/SignalR/Directory.Build.props
similarity index 100%
rename from Directory.Build.props
rename to src/SignalR/Directory.Build.props
diff --git a/Directory.Build.targets b/src/SignalR/Directory.Build.targets
similarity index 100%
rename from Directory.Build.targets
rename to src/SignalR/Directory.Build.targets
diff --git a/NuGetPackageVerifier.json b/src/SignalR/NuGetPackageVerifier.json
similarity index 100%
rename from NuGetPackageVerifier.json
rename to src/SignalR/NuGetPackageVerifier.json
diff --git a/README.md b/src/SignalR/README.md
similarity index 100%
rename from README.md
rename to src/SignalR/README.md
diff --git a/SignalR.sln b/src/SignalR/SignalR.sln
similarity index 100%
rename from SignalR.sln
rename to src/SignalR/SignalR.sln
diff --git a/THIRD-PARTY-NOTICES b/src/SignalR/THIRD-PARTY-NOTICES
similarity index 100%
rename from THIRD-PARTY-NOTICES
rename to src/SignalR/THIRD-PARTY-NOTICES
diff --git a/benchmarkapps/BenchmarkServer/BenchmarkServer.csproj b/src/SignalR/benchmarkapps/BenchmarkServer/BenchmarkServer.csproj
similarity index 100%
rename from benchmarkapps/BenchmarkServer/BenchmarkServer.csproj
rename to src/SignalR/benchmarkapps/BenchmarkServer/BenchmarkServer.csproj
diff --git a/benchmarkapps/BenchmarkServer/Hubs/EchoHub.cs b/src/SignalR/benchmarkapps/BenchmarkServer/Hubs/EchoHub.cs
similarity index 100%
rename from benchmarkapps/BenchmarkServer/Hubs/EchoHub.cs
rename to src/SignalR/benchmarkapps/BenchmarkServer/Hubs/EchoHub.cs
diff --git a/benchmarkapps/BenchmarkServer/Program.cs b/src/SignalR/benchmarkapps/BenchmarkServer/Program.cs
similarity index 100%
rename from benchmarkapps/BenchmarkServer/Program.cs
rename to src/SignalR/benchmarkapps/BenchmarkServer/Program.cs
diff --git a/benchmarkapps/BenchmarkServer/README.md b/src/SignalR/benchmarkapps/BenchmarkServer/README.md
similarity index 100%
rename from benchmarkapps/BenchmarkServer/README.md
rename to src/SignalR/benchmarkapps/BenchmarkServer/README.md
diff --git a/benchmarkapps/BenchmarkServer/Startup.cs b/src/SignalR/benchmarkapps/BenchmarkServer/Startup.cs
similarity index 100%
rename from benchmarkapps/BenchmarkServer/Startup.cs
rename to src/SignalR/benchmarkapps/BenchmarkServer/Startup.cs
diff --git a/benchmarkapps/BenchmarkServer/signalr.json b/src/SignalR/benchmarkapps/BenchmarkServer/signalr.json
similarity index 100%
rename from benchmarkapps/BenchmarkServer/signalr.json
rename to src/SignalR/benchmarkapps/BenchmarkServer/signalr.json
diff --git a/benchmarkapps/Crankier/Agent.cs b/src/SignalR/benchmarkapps/Crankier/Agent.cs
similarity index 100%
rename from benchmarkapps/Crankier/Agent.cs
rename to src/SignalR/benchmarkapps/Crankier/Agent.cs
diff --git a/benchmarkapps/Crankier/AgentHeartbeatInformation.cs b/src/SignalR/benchmarkapps/Crankier/AgentHeartbeatInformation.cs
similarity index 100%
rename from benchmarkapps/Crankier/AgentHeartbeatInformation.cs
rename to src/SignalR/benchmarkapps/Crankier/AgentHeartbeatInformation.cs
diff --git a/benchmarkapps/Crankier/AgentReceiver.cs b/src/SignalR/benchmarkapps/Crankier/AgentReceiver.cs
similarity index 100%
rename from benchmarkapps/Crankier/AgentReceiver.cs
rename to src/SignalR/benchmarkapps/Crankier/AgentReceiver.cs
diff --git a/benchmarkapps/Crankier/AgentSender.cs b/src/SignalR/benchmarkapps/Crankier/AgentSender.cs
similarity index 100%
rename from benchmarkapps/Crankier/AgentSender.cs
rename to src/SignalR/benchmarkapps/Crankier/AgentSender.cs
diff --git a/benchmarkapps/Crankier/AgentWorker.cs b/src/SignalR/benchmarkapps/Crankier/AgentWorker.cs
similarity index 100%
rename from benchmarkapps/Crankier/AgentWorker.cs
rename to src/SignalR/benchmarkapps/Crankier/AgentWorker.cs
diff --git a/benchmarkapps/Crankier/Client.cs b/src/SignalR/benchmarkapps/Crankier/Client.cs
similarity index 100%
rename from benchmarkapps/Crankier/Client.cs
rename to src/SignalR/benchmarkapps/Crankier/Client.cs
diff --git a/benchmarkapps/Crankier/Commands/AgentCommand.cs b/src/SignalR/benchmarkapps/Crankier/Commands/AgentCommand.cs
similarity index 100%
rename from benchmarkapps/Crankier/Commands/AgentCommand.cs
rename to src/SignalR/benchmarkapps/Crankier/Commands/AgentCommand.cs
diff --git a/benchmarkapps/Crankier/Commands/CommandLineUtilities.cs b/src/SignalR/benchmarkapps/Crankier/Commands/CommandLineUtilities.cs
similarity index 100%
rename from benchmarkapps/Crankier/Commands/CommandLineUtilities.cs
rename to src/SignalR/benchmarkapps/Crankier/Commands/CommandLineUtilities.cs
diff --git a/benchmarkapps/Crankier/Commands/Defaults.cs b/src/SignalR/benchmarkapps/Crankier/Commands/Defaults.cs
similarity index 100%
rename from benchmarkapps/Crankier/Commands/Defaults.cs
rename to src/SignalR/benchmarkapps/Crankier/Commands/Defaults.cs
diff --git a/benchmarkapps/Crankier/Commands/LocalCommand.cs b/src/SignalR/benchmarkapps/Crankier/Commands/LocalCommand.cs
similarity index 100%
rename from benchmarkapps/Crankier/Commands/LocalCommand.cs
rename to src/SignalR/benchmarkapps/Crankier/Commands/LocalCommand.cs
diff --git a/benchmarkapps/Crankier/Commands/WorkerCommand.cs b/src/SignalR/benchmarkapps/Crankier/Commands/WorkerCommand.cs
similarity index 100%
rename from benchmarkapps/Crankier/Commands/WorkerCommand.cs
rename to src/SignalR/benchmarkapps/Crankier/Commands/WorkerCommand.cs
diff --git a/benchmarkapps/Crankier/ConnectionState.cs b/src/SignalR/benchmarkapps/Crankier/ConnectionState.cs
similarity index 100%
rename from benchmarkapps/Crankier/ConnectionState.cs
rename to src/SignalR/benchmarkapps/Crankier/ConnectionState.cs
diff --git a/benchmarkapps/Crankier/Crankier.csproj b/src/SignalR/benchmarkapps/Crankier/Crankier.csproj
similarity index 100%
rename from benchmarkapps/Crankier/Crankier.csproj
rename to src/SignalR/benchmarkapps/Crankier/Crankier.csproj
diff --git a/benchmarkapps/Crankier/IAgent.cs b/src/SignalR/benchmarkapps/Crankier/IAgent.cs
similarity index 100%
rename from benchmarkapps/Crankier/IAgent.cs
rename to src/SignalR/benchmarkapps/Crankier/IAgent.cs
diff --git a/benchmarkapps/Crankier/IRunner.cs b/src/SignalR/benchmarkapps/Crankier/IRunner.cs
similarity index 100%
rename from benchmarkapps/Crankier/IRunner.cs
rename to src/SignalR/benchmarkapps/Crankier/IRunner.cs
diff --git a/benchmarkapps/Crankier/IWorker.cs b/src/SignalR/benchmarkapps/Crankier/IWorker.cs
similarity index 100%
rename from benchmarkapps/Crankier/IWorker.cs
rename to src/SignalR/benchmarkapps/Crankier/IWorker.cs
diff --git a/benchmarkapps/Crankier/Message.cs b/src/SignalR/benchmarkapps/Crankier/Message.cs
similarity index 100%
rename from benchmarkapps/Crankier/Message.cs
rename to src/SignalR/benchmarkapps/Crankier/Message.cs
diff --git a/benchmarkapps/Crankier/Program.cs b/src/SignalR/benchmarkapps/Crankier/Program.cs
similarity index 100%
rename from benchmarkapps/Crankier/Program.cs
rename to src/SignalR/benchmarkapps/Crankier/Program.cs
diff --git a/benchmarkapps/Crankier/Runner.cs b/src/SignalR/benchmarkapps/Crankier/Runner.cs
similarity index 100%
rename from benchmarkapps/Crankier/Runner.cs
rename to src/SignalR/benchmarkapps/Crankier/Runner.cs
diff --git a/benchmarkapps/Crankier/StatusInformation.cs b/src/SignalR/benchmarkapps/Crankier/StatusInformation.cs
similarity index 100%
rename from benchmarkapps/Crankier/StatusInformation.cs
rename to src/SignalR/benchmarkapps/Crankier/StatusInformation.cs
diff --git a/benchmarkapps/Crankier/Worker.cs b/src/SignalR/benchmarkapps/Crankier/Worker.cs
similarity index 100%
rename from benchmarkapps/Crankier/Worker.cs
rename to src/SignalR/benchmarkapps/Crankier/Worker.cs
diff --git a/benchmarkapps/Crankier/WorkerHeartbeatInformation.cs b/src/SignalR/benchmarkapps/Crankier/WorkerHeartbeatInformation.cs
similarity index 100%
rename from benchmarkapps/Crankier/WorkerHeartbeatInformation.cs
rename to src/SignalR/benchmarkapps/Crankier/WorkerHeartbeatInformation.cs
diff --git a/benchmarkapps/Crankier/WorkerReceiver.cs b/src/SignalR/benchmarkapps/Crankier/WorkerReceiver.cs
similarity index 100%
rename from benchmarkapps/Crankier/WorkerReceiver.cs
rename to src/SignalR/benchmarkapps/Crankier/WorkerReceiver.cs
diff --git a/benchmarkapps/Crankier/WorkerSender.cs b/src/SignalR/benchmarkapps/Crankier/WorkerSender.cs
similarity index 100%
rename from benchmarkapps/Crankier/WorkerSender.cs
rename to src/SignalR/benchmarkapps/Crankier/WorkerSender.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/AssemblyInfo.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/AssemblyInfo.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/AssemblyInfo.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/AssemblyInfo.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/BroadcastBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/BroadcastBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/BroadcastBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/BroadcastBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubActivatorBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubActivatorBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubActivatorBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubActivatorBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubDispatcherBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubDispatcherBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubDispatcherBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubDispatcherBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubLifetimeManagerBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubLifetimeManagerBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubLifetimeManagerBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubLifetimeManagerBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HandshakeProtocolBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HandshakeProtocolBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HandshakeProtocolBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HandshakeProtocolBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionContextBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionContextBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionContextBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionContextBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionReceiveBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionReceiveBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionReceiveBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionReceiveBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionSendBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionSendBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionSendBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionSendBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionStartBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionStartBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionStartBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionStartBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubProtocolBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubProtocolBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubProtocolBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubProtocolBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/MessageParserBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/MessageParserBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/MessageParserBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/MessageParserBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/NegotiateProtocolBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/NegotiateProtocolBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/NegotiateProtocolBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/NegotiateProtocolBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/RedisHubLifetimeManagerBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/RedisHubLifetimeManagerBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/RedisHubLifetimeManagerBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/RedisHubLifetimeManagerBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/RedisProtocolBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/RedisProtocolBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/RedisProtocolBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/RedisProtocolBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/ServerSentEventsBenchmark.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/ServerSentEventsBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/ServerSentEventsBenchmark.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/ServerSentEventsBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestConnectionContext.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestConnectionContext.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestConnectionContext.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestConnectionContext.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestDuplexPipe.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestDuplexPipe.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestDuplexPipe.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestDuplexPipe.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestPipeReader.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestPipeReader.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestPipeReader.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestPipeReader.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestPipeWriter.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestPipeWriter.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestPipeWriter.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestPipeWriter.cs
diff --git a/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/TestBinder.cs b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/TestBinder.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/TestBinder.cs
rename to src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/TestBinder.cs
diff --git a/build/Key.snk b/src/SignalR/build/Key.snk
similarity index 100%
rename from build/Key.snk
rename to src/SignalR/build/Key.snk
diff --git a/build/dependencies.props b/src/SignalR/build/dependencies.props
similarity index 100%
rename from build/dependencies.props
rename to src/SignalR/build/dependencies.props
diff --git a/build/publish-apps.ps1 b/src/SignalR/build/publish-apps.ps1
similarity index 100%
rename from build/publish-apps.ps1
rename to src/SignalR/build/publish-apps.ps1
diff --git a/build/repo.props b/src/SignalR/build/repo.props
similarity index 100%
rename from build/repo.props
rename to src/SignalR/build/repo.props
diff --git a/build/repo.targets b/src/SignalR/build/repo.targets
similarity index 100%
rename from build/repo.targets
rename to src/SignalR/build/repo.targets
diff --git a/build/sources.props b/src/SignalR/build/sources.props
similarity index 100%
rename from build/sources.props
rename to src/SignalR/build/sources.props
diff --git a/clients/cpp/.nuget/NuGet.Config b/src/SignalR/clients/cpp/.nuget/NuGet.Config
similarity index 100%
rename from clients/cpp/.nuget/NuGet.Config
rename to src/SignalR/clients/cpp/.nuget/NuGet.Config
diff --git a/clients/cpp/.nuget/NuGet.exe b/src/SignalR/clients/cpp/.nuget/NuGet.exe
similarity index 100%
rename from clients/cpp/.nuget/NuGet.exe
rename to src/SignalR/clients/cpp/.nuget/NuGet.exe
diff --git a/clients/cpp/.nuget/NuGet.targets b/src/SignalR/clients/cpp/.nuget/NuGet.targets
similarity index 100%
rename from clients/cpp/.nuget/NuGet.targets
rename to src/SignalR/clients/cpp/.nuget/NuGet.targets
diff --git a/clients/cpp/Build/Common.Build.Settings b/src/SignalR/clients/cpp/Build/Common.Build.Settings
similarity index 100%
rename from clients/cpp/Build/Common.Build.Settings
rename to src/SignalR/clients/cpp/Build/Common.Build.Settings
diff --git a/clients/cpp/Build/Common.tasks b/src/SignalR/clients/cpp/Build/Common.tasks
similarity index 100%
rename from clients/cpp/Build/Common.tasks
rename to src/SignalR/clients/cpp/Build/Common.tasks
diff --git a/clients/cpp/Build/Config.Definitions.Props b/src/SignalR/clients/cpp/Build/Config.Definitions.Props
similarity index 100%
rename from clients/cpp/Build/Config.Definitions.Props
rename to src/SignalR/clients/cpp/Build/Config.Definitions.Props
diff --git a/clients/cpp/Build/SignalRClient.Build.Settings b/src/SignalR/clients/cpp/Build/SignalRClient.Build.Settings
similarity index 100%
rename from clients/cpp/Build/SignalRClient.Build.Settings
rename to src/SignalR/clients/cpp/Build/SignalRClient.Build.Settings
diff --git a/clients/cpp/Build/Version.props b/src/SignalR/clients/cpp/Build/Version.props
similarity index 100%
rename from clients/cpp/Build/Version.props
rename to src/SignalR/clients/cpp/Build/Version.props
diff --git a/clients/cpp/Build/build.msbuild b/src/SignalR/clients/cpp/Build/build.msbuild
similarity index 100%
rename from clients/cpp/Build/build.msbuild
rename to src/SignalR/clients/cpp/Build/build.msbuild
diff --git a/clients/cpp/CMakeLists.txt b/src/SignalR/clients/cpp/CMakeLists.txt
similarity index 100%
rename from clients/cpp/CMakeLists.txt
rename to src/SignalR/clients/cpp/CMakeLists.txt
diff --git a/clients/cpp/CONTRIBUTING.md b/src/SignalR/clients/cpp/CONTRIBUTING.md
similarity index 100%
rename from clients/cpp/CONTRIBUTING.md
rename to src/SignalR/clients/cpp/CONTRIBUTING.md
diff --git a/clients/cpp/NuGet.config b/src/SignalR/clients/cpp/NuGet.config
similarity index 100%
rename from clients/cpp/NuGet.config
rename to src/SignalR/clients/cpp/NuGet.config
diff --git a/clients/cpp/NuGet/Microsoft.AspNet.SignalR.Client.Cpp.UWP.targets.template b/src/SignalR/clients/cpp/NuGet/Microsoft.AspNet.SignalR.Client.Cpp.UWP.targets.template
similarity index 100%
rename from clients/cpp/NuGet/Microsoft.AspNet.SignalR.Client.Cpp.UWP.targets.template
rename to src/SignalR/clients/cpp/NuGet/Microsoft.AspNet.SignalR.Client.Cpp.UWP.targets.template
diff --git a/clients/cpp/NuGet/Microsoft.AspNet.SignalR.Client.Cpp.WinDesktop.targets.template b/src/SignalR/clients/cpp/NuGet/Microsoft.AspNet.SignalR.Client.Cpp.WinDesktop.targets.template
similarity index 100%
rename from clients/cpp/NuGet/Microsoft.AspNet.SignalR.Client.Cpp.WinDesktop.targets.template
rename to src/SignalR/clients/cpp/NuGet/Microsoft.AspNet.SignalR.Client.Cpp.WinDesktop.targets.template
diff --git a/clients/cpp/NuGet/signalrclientcpp.nuspec.template b/src/SignalR/clients/cpp/NuGet/signalrclientcpp.nuspec.template
similarity index 100%
rename from clients/cpp/NuGet/signalrclientcpp.nuspec.template
rename to src/SignalR/clients/cpp/NuGet/signalrclientcpp.nuspec.template
diff --git a/clients/cpp/README.md b/src/SignalR/clients/cpp/README.md
similarity index 100%
rename from clients/cpp/README.md
rename to src/SignalR/clients/cpp/README.md
diff --git a/clients/cpp/build.cmd b/src/SignalR/clients/cpp/build.cmd
similarity index 100%
rename from clients/cpp/build.cmd
rename to src/SignalR/clients/cpp/build.cmd
diff --git a/clients/cpp/include/signalrclient/_exports.h b/src/SignalR/clients/cpp/include/signalrclient/_exports.h
similarity index 100%
rename from clients/cpp/include/signalrclient/_exports.h
rename to src/SignalR/clients/cpp/include/signalrclient/_exports.h
diff --git a/clients/cpp/include/signalrclient/connection.h b/src/SignalR/clients/cpp/include/signalrclient/connection.h
similarity index 100%
rename from clients/cpp/include/signalrclient/connection.h
rename to src/SignalR/clients/cpp/include/signalrclient/connection.h
diff --git a/clients/cpp/include/signalrclient/connection_state.h b/src/SignalR/clients/cpp/include/signalrclient/connection_state.h
similarity index 100%
rename from clients/cpp/include/signalrclient/connection_state.h
rename to src/SignalR/clients/cpp/include/signalrclient/connection_state.h
diff --git a/clients/cpp/include/signalrclient/hub_connection.h b/src/SignalR/clients/cpp/include/signalrclient/hub_connection.h
similarity index 100%
rename from clients/cpp/include/signalrclient/hub_connection.h
rename to src/SignalR/clients/cpp/include/signalrclient/hub_connection.h
diff --git a/clients/cpp/include/signalrclient/hub_exception.h b/src/SignalR/clients/cpp/include/signalrclient/hub_exception.h
similarity index 100%
rename from clients/cpp/include/signalrclient/hub_exception.h
rename to src/SignalR/clients/cpp/include/signalrclient/hub_exception.h
diff --git a/clients/cpp/include/signalrclient/log_writer.h b/src/SignalR/clients/cpp/include/signalrclient/log_writer.h
similarity index 100%
rename from clients/cpp/include/signalrclient/log_writer.h
rename to src/SignalR/clients/cpp/include/signalrclient/log_writer.h
diff --git a/clients/cpp/include/signalrclient/signalr_client_config.h b/src/SignalR/clients/cpp/include/signalrclient/signalr_client_config.h
similarity index 100%
rename from clients/cpp/include/signalrclient/signalr_client_config.h
rename to src/SignalR/clients/cpp/include/signalrclient/signalr_client_config.h
diff --git a/clients/cpp/include/signalrclient/signalr_exception.h b/src/SignalR/clients/cpp/include/signalrclient/signalr_exception.h
similarity index 100%
rename from clients/cpp/include/signalrclient/signalr_exception.h
rename to src/SignalR/clients/cpp/include/signalrclient/signalr_exception.h
diff --git a/clients/cpp/include/signalrclient/trace_level.h b/src/SignalR/clients/cpp/include/signalrclient/trace_level.h
similarity index 100%
rename from clients/cpp/include/signalrclient/trace_level.h
rename to src/SignalR/clients/cpp/include/signalrclient/trace_level.h
diff --git a/clients/cpp/include/signalrclient/transport_type.h b/src/SignalR/clients/cpp/include/signalrclient/transport_type.h
similarity index 100%
rename from clients/cpp/include/signalrclient/transport_type.h
rename to src/SignalR/clients/cpp/include/signalrclient/transport_type.h
diff --git a/clients/cpp/include/signalrclient/web_exception.h b/src/SignalR/clients/cpp/include/signalrclient/web_exception.h
similarity index 100%
rename from clients/cpp/include/signalrclient/web_exception.h
rename to src/SignalR/clients/cpp/include/signalrclient/web_exception.h
diff --git a/clients/cpp/samples.sln b/src/SignalR/clients/cpp/samples.sln
similarity index 100%
rename from clients/cpp/samples.sln
rename to src/SignalR/clients/cpp/samples.sln
diff --git a/clients/cpp/samples/HubConnectionSample/HubConnectionSample.cpp b/src/SignalR/clients/cpp/samples/HubConnectionSample/HubConnectionSample.cpp
similarity index 100%
rename from clients/cpp/samples/HubConnectionSample/HubConnectionSample.cpp
rename to src/SignalR/clients/cpp/samples/HubConnectionSample/HubConnectionSample.cpp
diff --git a/clients/cpp/samples/HubConnectionSample/HubConnectionSample.vcxproj b/src/SignalR/clients/cpp/samples/HubConnectionSample/HubConnectionSample.vcxproj
similarity index 100%
rename from clients/cpp/samples/HubConnectionSample/HubConnectionSample.vcxproj
rename to src/SignalR/clients/cpp/samples/HubConnectionSample/HubConnectionSample.vcxproj
diff --git a/clients/cpp/samples/HubConnectionSample/HubConnectionSample.vcxproj.filters b/src/SignalR/clients/cpp/samples/HubConnectionSample/HubConnectionSample.vcxproj.filters
similarity index 100%
rename from clients/cpp/samples/HubConnectionSample/HubConnectionSample.vcxproj.filters
rename to src/SignalR/clients/cpp/samples/HubConnectionSample/HubConnectionSample.vcxproj.filters
diff --git a/clients/cpp/samples/HubConnectionSample/packages.config b/src/SignalR/clients/cpp/samples/HubConnectionSample/packages.config
similarity index 100%
rename from clients/cpp/samples/HubConnectionSample/packages.config
rename to src/SignalR/clients/cpp/samples/HubConnectionSample/packages.config
diff --git a/clients/cpp/samples/HubConnectionSample/stdafx.cpp b/src/SignalR/clients/cpp/samples/HubConnectionSample/stdafx.cpp
similarity index 100%
rename from clients/cpp/samples/HubConnectionSample/stdafx.cpp
rename to src/SignalR/clients/cpp/samples/HubConnectionSample/stdafx.cpp
diff --git a/clients/cpp/samples/HubConnectionSample/stdafx.h b/src/SignalR/clients/cpp/samples/HubConnectionSample/stdafx.h
similarity index 100%
rename from clients/cpp/samples/HubConnectionSample/stdafx.h
rename to src/SignalR/clients/cpp/samples/HubConnectionSample/stdafx.h
diff --git a/clients/cpp/samples/PersistentConnectionSample/PersistentConnectionSample.cpp b/src/SignalR/clients/cpp/samples/PersistentConnectionSample/PersistentConnectionSample.cpp
similarity index 100%
rename from clients/cpp/samples/PersistentConnectionSample/PersistentConnectionSample.cpp
rename to src/SignalR/clients/cpp/samples/PersistentConnectionSample/PersistentConnectionSample.cpp
diff --git a/clients/cpp/samples/PersistentConnectionSample/PersistentConnectionSample.vcxproj b/src/SignalR/clients/cpp/samples/PersistentConnectionSample/PersistentConnectionSample.vcxproj
similarity index 100%
rename from clients/cpp/samples/PersistentConnectionSample/PersistentConnectionSample.vcxproj
rename to src/SignalR/clients/cpp/samples/PersistentConnectionSample/PersistentConnectionSample.vcxproj
diff --git a/clients/cpp/samples/PersistentConnectionSample/PersistentConnectionSample.vcxproj.filters b/src/SignalR/clients/cpp/samples/PersistentConnectionSample/PersistentConnectionSample.vcxproj.filters
similarity index 100%
rename from clients/cpp/samples/PersistentConnectionSample/PersistentConnectionSample.vcxproj.filters
rename to src/SignalR/clients/cpp/samples/PersistentConnectionSample/PersistentConnectionSample.vcxproj.filters
diff --git a/clients/cpp/samples/PersistentConnectionSample/packages.config b/src/SignalR/clients/cpp/samples/PersistentConnectionSample/packages.config
similarity index 100%
rename from clients/cpp/samples/PersistentConnectionSample/packages.config
rename to src/SignalR/clients/cpp/samples/PersistentConnectionSample/packages.config
diff --git a/clients/cpp/samples/PersistentConnectionSample/stdafx.cpp b/src/SignalR/clients/cpp/samples/PersistentConnectionSample/stdafx.cpp
similarity index 100%
rename from clients/cpp/samples/PersistentConnectionSample/stdafx.cpp
rename to src/SignalR/clients/cpp/samples/PersistentConnectionSample/stdafx.cpp
diff --git a/clients/cpp/samples/PersistentConnectionSample/stdafx.h b/src/SignalR/clients/cpp/samples/PersistentConnectionSample/stdafx.h
similarity index 100%
rename from clients/cpp/samples/PersistentConnectionSample/stdafx.h
rename to src/SignalR/clients/cpp/samples/PersistentConnectionSample/stdafx.h
diff --git a/clients/cpp/samples/SignalRServer/ChatHub.cs b/src/SignalR/clients/cpp/samples/SignalRServer/ChatHub.cs
similarity index 100%
rename from clients/cpp/samples/SignalRServer/ChatHub.cs
rename to src/SignalR/clients/cpp/samples/SignalRServer/ChatHub.cs
diff --git a/clients/cpp/samples/SignalRServer/EchoConnection.cs b/src/SignalR/clients/cpp/samples/SignalRServer/EchoConnection.cs
similarity index 100%
rename from clients/cpp/samples/SignalRServer/EchoConnection.cs
rename to src/SignalR/clients/cpp/samples/SignalRServer/EchoConnection.cs
diff --git a/clients/cpp/samples/SignalRServer/Properties/AssemblyInfo.cs b/src/SignalR/clients/cpp/samples/SignalRServer/Properties/AssemblyInfo.cs
similarity index 100%
rename from clients/cpp/samples/SignalRServer/Properties/AssemblyInfo.cs
rename to src/SignalR/clients/cpp/samples/SignalRServer/Properties/AssemblyInfo.cs
diff --git a/clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.intellisense.js b/src/SignalR/clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.intellisense.js
similarity index 100%
rename from clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.intellisense.js
rename to src/SignalR/clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.intellisense.js
diff --git a/clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.js b/src/SignalR/clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.js
similarity index 100%
rename from clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.js
rename to src/SignalR/clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.js
diff --git a/clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.min.js b/src/SignalR/clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.min.js
similarity index 100%
rename from clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.min.js
rename to src/SignalR/clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.min.js
diff --git a/clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.min.map b/src/SignalR/clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.min.map
similarity index 100%
rename from clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.min.map
rename to src/SignalR/clients/cpp/samples/SignalRServer/Scripts/jquery-1.10.2.min.map
diff --git a/clients/cpp/samples/SignalRServer/Scripts/jquery.signalR-2.2.0.js b/src/SignalR/clients/cpp/samples/SignalRServer/Scripts/jquery.signalR-2.2.0.js
similarity index 100%
rename from clients/cpp/samples/SignalRServer/Scripts/jquery.signalR-2.2.0.js
rename to src/SignalR/clients/cpp/samples/SignalRServer/Scripts/jquery.signalR-2.2.0.js
diff --git a/clients/cpp/samples/SignalRServer/Scripts/jquery.signalR-2.2.0.min.js b/src/SignalR/clients/cpp/samples/SignalRServer/Scripts/jquery.signalR-2.2.0.min.js
similarity index 100%
rename from clients/cpp/samples/SignalRServer/Scripts/jquery.signalR-2.2.0.min.js
rename to src/SignalR/clients/cpp/samples/SignalRServer/Scripts/jquery.signalR-2.2.0.min.js
diff --git a/clients/cpp/samples/SignalRServer/SignalRServer.csproj b/src/SignalR/clients/cpp/samples/SignalRServer/SignalRServer.csproj
similarity index 100%
rename from clients/cpp/samples/SignalRServer/SignalRServer.csproj
rename to src/SignalR/clients/cpp/samples/SignalRServer/SignalRServer.csproj
diff --git a/clients/cpp/samples/SignalRServer/Startup.cs b/src/SignalR/clients/cpp/samples/SignalRServer/Startup.cs
similarity index 100%
rename from clients/cpp/samples/SignalRServer/Startup.cs
rename to src/SignalR/clients/cpp/samples/SignalRServer/Startup.cs
diff --git a/clients/cpp/samples/SignalRServer/Web.Debug.config b/src/SignalR/clients/cpp/samples/SignalRServer/Web.Debug.config
similarity index 100%
rename from clients/cpp/samples/SignalRServer/Web.Debug.config
rename to src/SignalR/clients/cpp/samples/SignalRServer/Web.Debug.config
diff --git a/clients/cpp/samples/SignalRServer/Web.Release.config b/src/SignalR/clients/cpp/samples/SignalRServer/Web.Release.config
similarity index 100%
rename from clients/cpp/samples/SignalRServer/Web.Release.config
rename to src/SignalR/clients/cpp/samples/SignalRServer/Web.Release.config
diff --git a/clients/cpp/samples/SignalRServer/Web.config b/src/SignalR/clients/cpp/samples/SignalRServer/Web.config
similarity index 100%
rename from clients/cpp/samples/SignalRServer/Web.config
rename to src/SignalR/clients/cpp/samples/SignalRServer/Web.config
diff --git a/clients/cpp/samples/SignalRServer/index.html b/src/SignalR/clients/cpp/samples/SignalRServer/index.html
similarity index 100%
rename from clients/cpp/samples/SignalRServer/index.html
rename to src/SignalR/clients/cpp/samples/SignalRServer/index.html
diff --git a/clients/cpp/samples/SignalRServer/packages.config b/src/SignalR/clients/cpp/samples/SignalRServer/packages.config
similarity index 100%
rename from clients/cpp/samples/SignalRServer/packages.config
rename to src/SignalR/clients/cpp/samples/SignalRServer/packages.config
diff --git a/clients/cpp/signalrclient.sln b/src/SignalR/clients/cpp/signalrclient.sln
similarity index 100%
rename from clients/cpp/signalrclient.sln
rename to src/SignalR/clients/cpp/signalrclient.sln
diff --git a/clients/cpp/src/signalrclient/Build/VS/packages.config b/src/SignalR/clients/cpp/src/signalrclient/Build/VS/packages.config
similarity index 100%
rename from clients/cpp/src/signalrclient/Build/VS/packages.config
rename to src/SignalR/clients/cpp/src/signalrclient/Build/VS/packages.config
diff --git a/clients/cpp/src/signalrclient/Build/VS/signalrclient.vcxproj b/src/SignalR/clients/cpp/src/signalrclient/Build/VS/signalrclient.vcxproj
similarity index 100%
rename from clients/cpp/src/signalrclient/Build/VS/signalrclient.vcxproj
rename to src/SignalR/clients/cpp/src/signalrclient/Build/VS/signalrclient.vcxproj
diff --git a/clients/cpp/src/signalrclient/Build/VS/signalrclient.vcxproj.filters b/src/SignalR/clients/cpp/src/signalrclient/Build/VS/signalrclient.vcxproj.filters
similarity index 100%
rename from clients/cpp/src/signalrclient/Build/VS/signalrclient.vcxproj.filters
rename to src/SignalR/clients/cpp/src/signalrclient/Build/VS/signalrclient.vcxproj.filters
diff --git a/clients/cpp/src/signalrclient/CMakeLists.txt b/src/SignalR/clients/cpp/src/signalrclient/CMakeLists.txt
similarity index 100%
rename from clients/cpp/src/signalrclient/CMakeLists.txt
rename to src/SignalR/clients/cpp/src/signalrclient/CMakeLists.txt
diff --git a/clients/cpp/src/signalrclient/callback_manager.cpp b/src/SignalR/clients/cpp/src/signalrclient/callback_manager.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/callback_manager.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/callback_manager.cpp
diff --git a/clients/cpp/src/signalrclient/callback_manager.h b/src/SignalR/clients/cpp/src/signalrclient/callback_manager.h
similarity index 100%
rename from clients/cpp/src/signalrclient/callback_manager.h
rename to src/SignalR/clients/cpp/src/signalrclient/callback_manager.h
diff --git a/clients/cpp/src/signalrclient/case_insensitive_comparison_utils.h b/src/SignalR/clients/cpp/src/signalrclient/case_insensitive_comparison_utils.h
similarity index 100%
rename from clients/cpp/src/signalrclient/case_insensitive_comparison_utils.h
rename to src/SignalR/clients/cpp/src/signalrclient/case_insensitive_comparison_utils.h
diff --git a/clients/cpp/src/signalrclient/connection.cpp b/src/SignalR/clients/cpp/src/signalrclient/connection.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/connection.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/connection.cpp
diff --git a/clients/cpp/src/signalrclient/connection_impl.cpp b/src/SignalR/clients/cpp/src/signalrclient/connection_impl.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/connection_impl.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/connection_impl.cpp
diff --git a/clients/cpp/src/signalrclient/connection_impl.h b/src/SignalR/clients/cpp/src/signalrclient/connection_impl.h
similarity index 100%
rename from clients/cpp/src/signalrclient/connection_impl.h
rename to src/SignalR/clients/cpp/src/signalrclient/connection_impl.h
diff --git a/clients/cpp/src/signalrclient/constants.h b/src/SignalR/clients/cpp/src/signalrclient/constants.h
similarity index 100%
rename from clients/cpp/src/signalrclient/constants.h
rename to src/SignalR/clients/cpp/src/signalrclient/constants.h
diff --git a/clients/cpp/src/signalrclient/default_websocket_client.cpp b/src/SignalR/clients/cpp/src/signalrclient/default_websocket_client.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/default_websocket_client.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/default_websocket_client.cpp
diff --git a/clients/cpp/src/signalrclient/default_websocket_client.h b/src/SignalR/clients/cpp/src/signalrclient/default_websocket_client.h
similarity index 100%
rename from clients/cpp/src/signalrclient/default_websocket_client.h
rename to src/SignalR/clients/cpp/src/signalrclient/default_websocket_client.h
diff --git a/clients/cpp/src/signalrclient/event.h b/src/SignalR/clients/cpp/src/signalrclient/event.h
similarity index 100%
rename from clients/cpp/src/signalrclient/event.h
rename to src/SignalR/clients/cpp/src/signalrclient/event.h
diff --git a/clients/cpp/src/signalrclient/http_sender.cpp b/src/SignalR/clients/cpp/src/signalrclient/http_sender.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/http_sender.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/http_sender.cpp
diff --git a/clients/cpp/src/signalrclient/http_sender.h b/src/SignalR/clients/cpp/src/signalrclient/http_sender.h
similarity index 100%
rename from clients/cpp/src/signalrclient/http_sender.h
rename to src/SignalR/clients/cpp/src/signalrclient/http_sender.h
diff --git a/clients/cpp/src/signalrclient/hub_connection.cpp b/src/SignalR/clients/cpp/src/signalrclient/hub_connection.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/hub_connection.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/hub_connection.cpp
diff --git a/clients/cpp/src/signalrclient/hub_connection_impl.cpp b/src/SignalR/clients/cpp/src/signalrclient/hub_connection_impl.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/hub_connection_impl.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/hub_connection_impl.cpp
diff --git a/clients/cpp/src/signalrclient/hub_connection_impl.h b/src/SignalR/clients/cpp/src/signalrclient/hub_connection_impl.h
similarity index 100%
rename from clients/cpp/src/signalrclient/hub_connection_impl.h
rename to src/SignalR/clients/cpp/src/signalrclient/hub_connection_impl.h
diff --git a/clients/cpp/src/signalrclient/logger.cpp b/src/SignalR/clients/cpp/src/signalrclient/logger.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/logger.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/logger.cpp
diff --git a/clients/cpp/src/signalrclient/logger.h b/src/SignalR/clients/cpp/src/signalrclient/logger.h
similarity index 100%
rename from clients/cpp/src/signalrclient/logger.h
rename to src/SignalR/clients/cpp/src/signalrclient/logger.h
diff --git a/clients/cpp/src/signalrclient/make_unique.h b/src/SignalR/clients/cpp/src/signalrclient/make_unique.h
similarity index 100%
rename from clients/cpp/src/signalrclient/make_unique.h
rename to src/SignalR/clients/cpp/src/signalrclient/make_unique.h
diff --git a/clients/cpp/src/signalrclient/negotiation_response.cpp b/src/SignalR/clients/cpp/src/signalrclient/negotiation_response.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/negotiation_response.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/negotiation_response.cpp
diff --git a/clients/cpp/src/signalrclient/negotiation_response.h b/src/SignalR/clients/cpp/src/signalrclient/negotiation_response.h
similarity index 100%
rename from clients/cpp/src/signalrclient/negotiation_response.h
rename to src/SignalR/clients/cpp/src/signalrclient/negotiation_response.h
diff --git a/clients/cpp/src/signalrclient/request_sender.cpp b/src/SignalR/clients/cpp/src/signalrclient/request_sender.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/request_sender.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/request_sender.cpp
diff --git a/clients/cpp/src/signalrclient/request_sender.h b/src/SignalR/clients/cpp/src/signalrclient/request_sender.h
similarity index 100%
rename from clients/cpp/src/signalrclient/request_sender.h
rename to src/SignalR/clients/cpp/src/signalrclient/request_sender.h
diff --git a/clients/cpp/src/signalrclient/signalr_client_config.cpp b/src/SignalR/clients/cpp/src/signalrclient/signalr_client_config.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/signalr_client_config.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/signalr_client_config.cpp
diff --git a/clients/cpp/src/signalrclient/stdafx.cpp b/src/SignalR/clients/cpp/src/signalrclient/stdafx.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/stdafx.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/stdafx.cpp
diff --git a/clients/cpp/src/signalrclient/stdafx.h b/src/SignalR/clients/cpp/src/signalrclient/stdafx.h
similarity index 100%
rename from clients/cpp/src/signalrclient/stdafx.h
rename to src/SignalR/clients/cpp/src/signalrclient/stdafx.h
diff --git a/clients/cpp/src/signalrclient/trace_log_writer.cpp b/src/SignalR/clients/cpp/src/signalrclient/trace_log_writer.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/trace_log_writer.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/trace_log_writer.cpp
diff --git a/clients/cpp/src/signalrclient/trace_log_writer.h b/src/SignalR/clients/cpp/src/signalrclient/trace_log_writer.h
similarity index 100%
rename from clients/cpp/src/signalrclient/trace_log_writer.h
rename to src/SignalR/clients/cpp/src/signalrclient/trace_log_writer.h
diff --git a/clients/cpp/src/signalrclient/transport.cpp b/src/SignalR/clients/cpp/src/signalrclient/transport.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/transport.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/transport.cpp
diff --git a/clients/cpp/src/signalrclient/transport.h b/src/SignalR/clients/cpp/src/signalrclient/transport.h
similarity index 100%
rename from clients/cpp/src/signalrclient/transport.h
rename to src/SignalR/clients/cpp/src/signalrclient/transport.h
diff --git a/clients/cpp/src/signalrclient/transport_factory.cpp b/src/SignalR/clients/cpp/src/signalrclient/transport_factory.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/transport_factory.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/transport_factory.cpp
diff --git a/clients/cpp/src/signalrclient/transport_factory.h b/src/SignalR/clients/cpp/src/signalrclient/transport_factory.h
similarity index 100%
rename from clients/cpp/src/signalrclient/transport_factory.h
rename to src/SignalR/clients/cpp/src/signalrclient/transport_factory.h
diff --git a/clients/cpp/src/signalrclient/url_builder.cpp b/src/SignalR/clients/cpp/src/signalrclient/url_builder.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/url_builder.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/url_builder.cpp
diff --git a/clients/cpp/src/signalrclient/url_builder.h b/src/SignalR/clients/cpp/src/signalrclient/url_builder.h
similarity index 100%
rename from clients/cpp/src/signalrclient/url_builder.h
rename to src/SignalR/clients/cpp/src/signalrclient/url_builder.h
diff --git a/clients/cpp/src/signalrclient/web_request.cpp b/src/SignalR/clients/cpp/src/signalrclient/web_request.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/web_request.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/web_request.cpp
diff --git a/clients/cpp/src/signalrclient/web_request.h b/src/SignalR/clients/cpp/src/signalrclient/web_request.h
similarity index 100%
rename from clients/cpp/src/signalrclient/web_request.h
rename to src/SignalR/clients/cpp/src/signalrclient/web_request.h
diff --git a/clients/cpp/src/signalrclient/web_request_factory.cpp b/src/SignalR/clients/cpp/src/signalrclient/web_request_factory.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/web_request_factory.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/web_request_factory.cpp
diff --git a/clients/cpp/src/signalrclient/web_request_factory.h b/src/SignalR/clients/cpp/src/signalrclient/web_request_factory.h
similarity index 100%
rename from clients/cpp/src/signalrclient/web_request_factory.h
rename to src/SignalR/clients/cpp/src/signalrclient/web_request_factory.h
diff --git a/clients/cpp/src/signalrclient/web_response.h b/src/SignalR/clients/cpp/src/signalrclient/web_response.h
similarity index 100%
rename from clients/cpp/src/signalrclient/web_response.h
rename to src/SignalR/clients/cpp/src/signalrclient/web_response.h
diff --git a/clients/cpp/src/signalrclient/websocket_client.h b/src/SignalR/clients/cpp/src/signalrclient/websocket_client.h
similarity index 100%
rename from clients/cpp/src/signalrclient/websocket_client.h
rename to src/SignalR/clients/cpp/src/signalrclient/websocket_client.h
diff --git a/clients/cpp/src/signalrclient/websocket_transport.cpp b/src/SignalR/clients/cpp/src/signalrclient/websocket_transport.cpp
similarity index 100%
rename from clients/cpp/src/signalrclient/websocket_transport.cpp
rename to src/SignalR/clients/cpp/src/signalrclient/websocket_transport.cpp
diff --git a/clients/cpp/src/signalrclient/websocket_transport.h b/src/SignalR/clients/cpp/src/signalrclient/websocket_transport.h
similarity index 100%
rename from clients/cpp/src/signalrclient/websocket_transport.h
rename to src/SignalR/clients/cpp/src/signalrclient/websocket_transport.h
diff --git a/clients/cpp/src/signalrclientdll/Build/VS/packages.config b/src/SignalR/clients/cpp/src/signalrclientdll/Build/VS/packages.config
similarity index 100%
rename from clients/cpp/src/signalrclientdll/Build/VS/packages.config
rename to src/SignalR/clients/cpp/src/signalrclientdll/Build/VS/packages.config
diff --git a/clients/cpp/src/signalrclientdll/Build/VS/signalrclientdll.vcxproj b/src/SignalR/clients/cpp/src/signalrclientdll/Build/VS/signalrclientdll.vcxproj
similarity index 100%
rename from clients/cpp/src/signalrclientdll/Build/VS/signalrclientdll.vcxproj
rename to src/SignalR/clients/cpp/src/signalrclientdll/Build/VS/signalrclientdll.vcxproj
diff --git a/clients/cpp/src/signalrclientdll/Build/VS/signalrclientdll.vcxproj.filters b/src/SignalR/clients/cpp/src/signalrclientdll/Build/VS/signalrclientdll.vcxproj.filters
similarity index 100%
rename from clients/cpp/src/signalrclientdll/Build/VS/signalrclientdll.vcxproj.filters
rename to src/SignalR/clients/cpp/src/signalrclientdll/Build/VS/signalrclientdll.vcxproj.filters
diff --git a/clients/cpp/src/signalrclientdll/Resource.rc b/src/SignalR/clients/cpp/src/signalrclientdll/Resource.rc
similarity index 100%
rename from clients/cpp/src/signalrclientdll/Resource.rc
rename to src/SignalR/clients/cpp/src/signalrclientdll/Resource.rc
diff --git a/clients/cpp/src/signalrclientdll/dllmain.cpp b/src/SignalR/clients/cpp/src/signalrclientdll/dllmain.cpp
similarity index 100%
rename from clients/cpp/src/signalrclientdll/dllmain.cpp
rename to src/SignalR/clients/cpp/src/signalrclientdll/dllmain.cpp
diff --git a/clients/cpp/src/signalrclientdll/resource.h b/src/SignalR/clients/cpp/src/signalrclientdll/resource.h
similarity index 100%
rename from clients/cpp/src/signalrclientdll/resource.h
rename to src/SignalR/clients/cpp/src/signalrclientdll/resource.h
diff --git a/clients/cpp/src/signalrclientdll/version.h b/src/SignalR/clients/cpp/src/signalrclientdll/version.h
similarity index 100%
rename from clients/cpp/src/signalrclientdll/version.h
rename to src/SignalR/clients/cpp/src/signalrclientdll/version.h
diff --git a/clients/cpp/test/CMakeLists.txt b/src/SignalR/clients/cpp/test/CMakeLists.txt
similarity index 100%
rename from clients/cpp/test/CMakeLists.txt
rename to src/SignalR/clients/cpp/test/CMakeLists.txt
diff --git a/clients/cpp/test/gtest/gtest.vcxproj b/src/SignalR/clients/cpp/test/gtest/gtest.vcxproj
similarity index 100%
rename from clients/cpp/test/gtest/gtest.vcxproj
rename to src/SignalR/clients/cpp/test/gtest/gtest.vcxproj
diff --git a/clients/cpp/test/gtest/gtest.vcxproj.filters b/src/SignalR/clients/cpp/test/gtest/gtest.vcxproj.filters
similarity index 100%
rename from clients/cpp/test/gtest/gtest.vcxproj.filters
rename to src/SignalR/clients/cpp/test/gtest/gtest.vcxproj.filters
diff --git a/clients/cpp/test/signalrclient-e2e-tests/Build/VS/packages.config b/src/SignalR/clients/cpp/test/signalrclient-e2e-tests/Build/VS/packages.config
similarity index 100%
rename from clients/cpp/test/signalrclient-e2e-tests/Build/VS/packages.config
rename to src/SignalR/clients/cpp/test/signalrclient-e2e-tests/Build/VS/packages.config
diff --git a/clients/cpp/test/signalrclient-e2e-tests/Build/VS/signalrclient-e2e-tests.vcxproj b/src/SignalR/clients/cpp/test/signalrclient-e2e-tests/Build/VS/signalrclient-e2e-tests.vcxproj
similarity index 100%
rename from clients/cpp/test/signalrclient-e2e-tests/Build/VS/signalrclient-e2e-tests.vcxproj
rename to src/SignalR/clients/cpp/test/signalrclient-e2e-tests/Build/VS/signalrclient-e2e-tests.vcxproj
diff --git a/clients/cpp/test/signalrclient-e2e-tests/Build/VS/signalrclient-e2e-tests.vcxproj.filters b/src/SignalR/clients/cpp/test/signalrclient-e2e-tests/Build/VS/signalrclient-e2e-tests.vcxproj.filters
similarity index 100%
rename from clients/cpp/test/signalrclient-e2e-tests/Build/VS/signalrclient-e2e-tests.vcxproj.filters
rename to src/SignalR/clients/cpp/test/signalrclient-e2e-tests/Build/VS/signalrclient-e2e-tests.vcxproj.filters
diff --git a/clients/cpp/test/signalrclient-e2e-tests/connection_tests.cpp b/src/SignalR/clients/cpp/test/signalrclient-e2e-tests/connection_tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclient-e2e-tests/connection_tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclient-e2e-tests/connection_tests.cpp
diff --git a/clients/cpp/test/signalrclient-e2e-tests/hub_connection_tests.cpp b/src/SignalR/clients/cpp/test/signalrclient-e2e-tests/hub_connection_tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclient-e2e-tests/hub_connection_tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclient-e2e-tests/hub_connection_tests.cpp
diff --git a/clients/cpp/test/signalrclient-e2e-tests/signalrclient-e2e-tests.cpp b/src/SignalR/clients/cpp/test/signalrclient-e2e-tests/signalrclient-e2e-tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclient-e2e-tests/signalrclient-e2e-tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclient-e2e-tests/signalrclient-e2e-tests.cpp
diff --git a/clients/cpp/test/signalrclient-e2e-tests/stdafx.cpp b/src/SignalR/clients/cpp/test/signalrclient-e2e-tests/stdafx.cpp
similarity index 100%
rename from clients/cpp/test/signalrclient-e2e-tests/stdafx.cpp
rename to src/SignalR/clients/cpp/test/signalrclient-e2e-tests/stdafx.cpp
diff --git a/clients/cpp/test/signalrclient-e2e-tests/stdafx.h b/src/SignalR/clients/cpp/test/signalrclient-e2e-tests/stdafx.h
similarity index 100%
rename from clients/cpp/test/signalrclient-e2e-tests/stdafx.h
rename to src/SignalR/clients/cpp/test/signalrclient-e2e-tests/stdafx.h
diff --git a/clients/cpp/test/signalrclient-e2e-tests/test_utils.cpp b/src/SignalR/clients/cpp/test/signalrclient-e2e-tests/test_utils.cpp
similarity index 100%
rename from clients/cpp/test/signalrclient-e2e-tests/test_utils.cpp
rename to src/SignalR/clients/cpp/test/signalrclient-e2e-tests/test_utils.cpp
diff --git a/clients/cpp/test/signalrclient-e2e-tests/test_utils.h b/src/SignalR/clients/cpp/test/signalrclient-e2e-tests/test_utils.h
similarity index 100%
rename from clients/cpp/test/signalrclient-e2e-tests/test_utils.h
rename to src/SignalR/clients/cpp/test/signalrclient-e2e-tests/test_utils.h
diff --git a/clients/cpp/test/signalrclient-testhost/App.config b/src/SignalR/clients/cpp/test/signalrclient-testhost/App.config
similarity index 100%
rename from clients/cpp/test/signalrclient-testhost/App.config
rename to src/SignalR/clients/cpp/test/signalrclient-testhost/App.config
diff --git a/clients/cpp/test/signalrclient-testhost/Connections/HubConnection.cs b/src/SignalR/clients/cpp/test/signalrclient-testhost/Connections/HubConnection.cs
similarity index 100%
rename from clients/cpp/test/signalrclient-testhost/Connections/HubConnection.cs
rename to src/SignalR/clients/cpp/test/signalrclient-testhost/Connections/HubConnection.cs
diff --git a/clients/cpp/test/signalrclient-testhost/Connections/RawConnection.cs b/src/SignalR/clients/cpp/test/signalrclient-testhost/Connections/RawConnection.cs
similarity index 100%
rename from clients/cpp/test/signalrclient-testhost/Connections/RawConnection.cs
rename to src/SignalR/clients/cpp/test/signalrclient-testhost/Connections/RawConnection.cs
diff --git a/clients/cpp/test/signalrclient-testhost/Program.cs b/src/SignalR/clients/cpp/test/signalrclient-testhost/Program.cs
similarity index 100%
rename from clients/cpp/test/signalrclient-testhost/Program.cs
rename to src/SignalR/clients/cpp/test/signalrclient-testhost/Program.cs
diff --git a/clients/cpp/test/signalrclient-testhost/Properties/AssemblyInfo.cs b/src/SignalR/clients/cpp/test/signalrclient-testhost/Properties/AssemblyInfo.cs
similarity index 100%
rename from clients/cpp/test/signalrclient-testhost/Properties/AssemblyInfo.cs
rename to src/SignalR/clients/cpp/test/signalrclient-testhost/Properties/AssemblyInfo.cs
diff --git a/clients/cpp/test/signalrclient-testhost/Startup.cs b/src/SignalR/clients/cpp/test/signalrclient-testhost/Startup.cs
similarity index 100%
rename from clients/cpp/test/signalrclient-testhost/Startup.cs
rename to src/SignalR/clients/cpp/test/signalrclient-testhost/Startup.cs
diff --git a/clients/cpp/test/signalrclient-testhost/packages.config b/src/SignalR/clients/cpp/test/signalrclient-testhost/packages.config
similarity index 100%
rename from clients/cpp/test/signalrclient-testhost/packages.config
rename to src/SignalR/clients/cpp/test/signalrclient-testhost/packages.config
diff --git a/clients/cpp/test/signalrclient-testhost/signalrclient-testhost.csproj b/src/SignalR/clients/cpp/test/signalrclient-testhost/signalrclient-testhost.csproj
similarity index 100%
rename from clients/cpp/test/signalrclient-testhost/signalrclient-testhost.csproj
rename to src/SignalR/clients/cpp/test/signalrclient-testhost/signalrclient-testhost.csproj
diff --git a/clients/cpp/test/signalrclienttests/Build/VS/packages.config b/src/SignalR/clients/cpp/test/signalrclienttests/Build/VS/packages.config
similarity index 100%
rename from clients/cpp/test/signalrclienttests/Build/VS/packages.config
rename to src/SignalR/clients/cpp/test/signalrclienttests/Build/VS/packages.config
diff --git a/clients/cpp/test/signalrclienttests/Build/VS/signalrclienttests.vcxproj b/src/SignalR/clients/cpp/test/signalrclienttests/Build/VS/signalrclienttests.vcxproj
similarity index 100%
rename from clients/cpp/test/signalrclienttests/Build/VS/signalrclienttests.vcxproj
rename to src/SignalR/clients/cpp/test/signalrclienttests/Build/VS/signalrclienttests.vcxproj
diff --git a/clients/cpp/test/signalrclienttests/Build/VS/signalrclienttests.vcxproj.filters b/src/SignalR/clients/cpp/test/signalrclienttests/Build/VS/signalrclienttests.vcxproj.filters
similarity index 100%
rename from clients/cpp/test/signalrclienttests/Build/VS/signalrclienttests.vcxproj.filters
rename to src/SignalR/clients/cpp/test/signalrclienttests/Build/VS/signalrclienttests.vcxproj.filters
diff --git a/clients/cpp/test/signalrclienttests/CMakeLists.txt b/src/SignalR/clients/cpp/test/signalrclienttests/CMakeLists.txt
similarity index 100%
rename from clients/cpp/test/signalrclienttests/CMakeLists.txt
rename to src/SignalR/clients/cpp/test/signalrclienttests/CMakeLists.txt
diff --git a/clients/cpp/test/signalrclienttests/callback_manager_tests.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/callback_manager_tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/callback_manager_tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/callback_manager_tests.cpp
diff --git a/clients/cpp/test/signalrclienttests/case_insensitive_comparison_utils_tests.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/case_insensitive_comparison_utils_tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/case_insensitive_comparison_utils_tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/case_insensitive_comparison_utils_tests.cpp
diff --git a/clients/cpp/test/signalrclienttests/connection_impl_tests.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/connection_impl_tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/connection_impl_tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/connection_impl_tests.cpp
diff --git a/clients/cpp/test/signalrclienttests/http_sender_tests.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/http_sender_tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/http_sender_tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/http_sender_tests.cpp
diff --git a/clients/cpp/test/signalrclienttests/hub_connection_impl_tests.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/hub_connection_impl_tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/hub_connection_impl_tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/hub_connection_impl_tests.cpp
diff --git a/clients/cpp/test/signalrclienttests/hub_exception_tests.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/hub_exception_tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/hub_exception_tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/hub_exception_tests.cpp
diff --git a/clients/cpp/test/signalrclienttests/internal_hub_proxy_tests.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/internal_hub_proxy_tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/internal_hub_proxy_tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/internal_hub_proxy_tests.cpp
diff --git a/clients/cpp/test/signalrclienttests/logger_tests.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/logger_tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/logger_tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/logger_tests.cpp
diff --git a/clients/cpp/test/signalrclienttests/memory_log_writer.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/memory_log_writer.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/memory_log_writer.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/memory_log_writer.cpp
diff --git a/clients/cpp/test/signalrclienttests/memory_log_writer.h b/src/SignalR/clients/cpp/test/signalrclienttests/memory_log_writer.h
similarity index 100%
rename from clients/cpp/test/signalrclienttests/memory_log_writer.h
rename to src/SignalR/clients/cpp/test/signalrclienttests/memory_log_writer.h
diff --git a/clients/cpp/test/signalrclienttests/request_sender_tests.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/request_sender_tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/request_sender_tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/request_sender_tests.cpp
diff --git a/clients/cpp/test/signalrclienttests/signalrclienttests.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/signalrclienttests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/signalrclienttests.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/signalrclienttests.cpp
diff --git a/clients/cpp/test/signalrclienttests/stdafx.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/stdafx.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/stdafx.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/stdafx.cpp
diff --git a/clients/cpp/test/signalrclienttests/stdafx.h b/src/SignalR/clients/cpp/test/signalrclienttests/stdafx.h
similarity index 100%
rename from clients/cpp/test/signalrclienttests/stdafx.h
rename to src/SignalR/clients/cpp/test/signalrclienttests/stdafx.h
diff --git a/clients/cpp/test/signalrclienttests/targetver.h b/src/SignalR/clients/cpp/test/signalrclienttests/targetver.h
similarity index 100%
rename from clients/cpp/test/signalrclienttests/targetver.h
rename to src/SignalR/clients/cpp/test/signalrclienttests/targetver.h
diff --git a/clients/cpp/test/signalrclienttests/test_transport_factory.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/test_transport_factory.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/test_transport_factory.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/test_transport_factory.cpp
diff --git a/clients/cpp/test/signalrclienttests/test_transport_factory.h b/src/SignalR/clients/cpp/test/signalrclienttests/test_transport_factory.h
similarity index 100%
rename from clients/cpp/test/signalrclienttests/test_transport_factory.h
rename to src/SignalR/clients/cpp/test/signalrclienttests/test_transport_factory.h
diff --git a/clients/cpp/test/signalrclienttests/test_utils.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/test_utils.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/test_utils.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/test_utils.cpp
diff --git a/clients/cpp/test/signalrclienttests/test_utils.h b/src/SignalR/clients/cpp/test/signalrclienttests/test_utils.h
similarity index 100%
rename from clients/cpp/test/signalrclienttests/test_utils.h
rename to src/SignalR/clients/cpp/test/signalrclienttests/test_utils.h
diff --git a/clients/cpp/test/signalrclienttests/test_web_request_factory.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/test_web_request_factory.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/test_web_request_factory.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/test_web_request_factory.cpp
diff --git a/clients/cpp/test/signalrclienttests/test_web_request_factory.h b/src/SignalR/clients/cpp/test/signalrclienttests/test_web_request_factory.h
similarity index 100%
rename from clients/cpp/test/signalrclienttests/test_web_request_factory.h
rename to src/SignalR/clients/cpp/test/signalrclienttests/test_web_request_factory.h
diff --git a/clients/cpp/test/signalrclienttests/test_websocket_client.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/test_websocket_client.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/test_websocket_client.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/test_websocket_client.cpp
diff --git a/clients/cpp/test/signalrclienttests/test_websocket_client.h b/src/SignalR/clients/cpp/test/signalrclienttests/test_websocket_client.h
similarity index 100%
rename from clients/cpp/test/signalrclienttests/test_websocket_client.h
rename to src/SignalR/clients/cpp/test/signalrclienttests/test_websocket_client.h
diff --git a/clients/cpp/test/signalrclienttests/url_builder_tests.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/url_builder_tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/url_builder_tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/url_builder_tests.cpp
diff --git a/clients/cpp/test/signalrclienttests/web_request_stub.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/web_request_stub.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/web_request_stub.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/web_request_stub.cpp
diff --git a/clients/cpp/test/signalrclienttests/web_request_stub.h b/src/SignalR/clients/cpp/test/signalrclienttests/web_request_stub.h
similarity index 100%
rename from clients/cpp/test/signalrclienttests/web_request_stub.h
rename to src/SignalR/clients/cpp/test/signalrclienttests/web_request_stub.h
diff --git a/clients/cpp/test/signalrclienttests/web_request_tests.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/web_request_tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/web_request_tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/web_request_tests.cpp
diff --git a/clients/cpp/test/signalrclienttests/websocket_transport_tests.cpp b/src/SignalR/clients/cpp/test/signalrclienttests/websocket_transport_tests.cpp
similarity index 100%
rename from clients/cpp/test/signalrclienttests/websocket_transport_tests.cpp
rename to src/SignalR/clients/cpp/test/signalrclienttests/websocket_transport_tests.cpp
diff --git a/clients/java/signalr/.gitignore b/src/SignalR/clients/java/signalr/.gitignore
similarity index 100%
rename from clients/java/signalr/.gitignore
rename to src/SignalR/clients/java/signalr/.gitignore
diff --git a/clients/java/signalr/build.gradle b/src/SignalR/clients/java/signalr/build.gradle
similarity index 100%
rename from clients/java/signalr/build.gradle
rename to src/SignalR/clients/java/signalr/build.gradle
diff --git a/clients/java/signalr/gradle/wrapper/gradle-wrapper.jar b/src/SignalR/clients/java/signalr/gradle/wrapper/gradle-wrapper.jar
similarity index 100%
rename from clients/java/signalr/gradle/wrapper/gradle-wrapper.jar
rename to src/SignalR/clients/java/signalr/gradle/wrapper/gradle-wrapper.jar
diff --git a/clients/java/signalr/gradle/wrapper/gradle-wrapper.properties b/src/SignalR/clients/java/signalr/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from clients/java/signalr/gradle/wrapper/gradle-wrapper.properties
rename to src/SignalR/clients/java/signalr/gradle/wrapper/gradle-wrapper.properties
diff --git a/clients/java/signalr/gradlew b/src/SignalR/clients/java/signalr/gradlew
old mode 100755
new mode 100644
similarity index 100%
rename from clients/java/signalr/gradlew
rename to src/SignalR/clients/java/signalr/gradlew
diff --git a/clients/java/signalr/gradlew.bat b/src/SignalR/clients/java/signalr/gradlew.bat
similarity index 100%
rename from clients/java/signalr/gradlew.bat
rename to src/SignalR/clients/java/signalr/gradlew.bat
diff --git a/clients/java/signalr/settings.gradle b/src/SignalR/clients/java/signalr/settings.gradle
similarity index 100%
rename from clients/java/signalr/settings.gradle
rename to src/SignalR/clients/java/signalr/settings.gradle
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/Action.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/Action.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/Action1.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action1.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/Action1.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action1.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/Action2.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action2.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/Action2.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action2.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/Action3.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action3.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/Action3.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action3.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/Action4.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action4.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/Action4.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action4.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/Action5.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action5.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/Action5.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action5.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/Action6.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action6.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/Action6.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action6.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/Action7.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action7.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/Action7.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action7.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/Action8.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action8.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/Action8.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Action8.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/ActionBase.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/ActionBase.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/ActionBase.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/ActionBase.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/CallbackMap.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/CallbackMap.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/CallbackMap.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/CallbackMap.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/CancelInvocationMessage.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/CancelInvocationMessage.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/CancelInvocationMessage.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/CancelInvocationMessage.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/CloseMessage.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/CloseMessage.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/CloseMessage.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/CloseMessage.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/CompletionMessage.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/CompletionMessage.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/CompletionMessage.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/CompletionMessage.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/DefaultHttpClient.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/DefaultHttpClient.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/DefaultHttpClient.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/DefaultHttpClient.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/HandshakeProtocol.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HandshakeProtocol.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/HandshakeProtocol.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HandshakeProtocol.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/HandshakeRequestMessage.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HandshakeRequestMessage.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/HandshakeRequestMessage.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HandshakeRequestMessage.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/HandshakeResponseMessage.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HandshakeResponseMessage.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/HandshakeResponseMessage.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HandshakeResponseMessage.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/HttpClient.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HttpClient.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/HttpClient.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HttpClient.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/HttpHubConnectionBuilder.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HttpHubConnectionBuilder.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/HttpHubConnectionBuilder.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HttpHubConnectionBuilder.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/HubConnection.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HubConnection.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/HubConnection.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HubConnection.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/HubConnectionBuilder.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HubConnectionBuilder.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/HubConnectionBuilder.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HubConnectionBuilder.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/HubConnectionState.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HubConnectionState.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/HubConnectionState.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HubConnectionState.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/HubException.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HubException.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/HubException.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HubException.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/HubMessage.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HubMessage.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/HubMessage.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HubMessage.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/HubMessageType.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HubMessageType.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/HubMessageType.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HubMessageType.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/HubProtocol.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HubProtocol.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/HubProtocol.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/HubProtocol.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationBinder.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationBinder.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationBinder.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationBinder.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationBindingFailureMessage.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationBindingFailureMessage.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationBindingFailureMessage.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationBindingFailureMessage.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationHandler.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationHandler.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationHandler.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationHandler.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationMessage.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationMessage.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationMessage.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationMessage.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationRequest.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationRequest.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationRequest.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/InvocationRequest.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/JsonHubProtocol.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/JsonHubProtocol.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/JsonHubProtocol.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/JsonHubProtocol.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/Negotiate.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Negotiate.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/Negotiate.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Negotiate.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/NegotiateResponse.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/NegotiateResponse.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/NegotiateResponse.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/NegotiateResponse.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/OkHttpWebSocketWrapper.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/OkHttpWebSocketWrapper.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/OkHttpWebSocketWrapper.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/OkHttpWebSocketWrapper.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/OnClosedCallback.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/OnClosedCallback.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/OnClosedCallback.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/OnClosedCallback.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/OnReceiveCallBack.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/OnReceiveCallBack.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/OnReceiveCallBack.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/OnReceiveCallBack.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/PingMessage.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/PingMessage.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/PingMessage.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/PingMessage.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/StreamInvocationMessage.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/StreamInvocationMessage.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/StreamInvocationMessage.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/StreamInvocationMessage.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/StreamItem.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/StreamItem.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/StreamItem.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/StreamItem.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/Subscription.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Subscription.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/Subscription.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Subscription.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/TransferFormat.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/TransferFormat.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/TransferFormat.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/TransferFormat.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/Transport.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Transport.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/Transport.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/Transport.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/TransportOnClosedCallback.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/TransportOnClosedCallback.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/TransportOnClosedCallback.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/TransportOnClosedCallback.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/WebSocketTransport.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/WebSocketTransport.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/WebSocketTransport.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/WebSocketTransport.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/WebSocketWrapper.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/WebSocketWrapper.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/WebSocketWrapper.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/WebSocketWrapper.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/WebsocketWrapperOnClosed.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/WebsocketWrapperOnClosed.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/WebsocketWrapperOnClosed.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/WebsocketWrapperOnClosed.java
diff --git a/clients/java/signalr/src/main/java/com/microsoft/signalr/package-info.java b/src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/package-info.java
similarity index 100%
rename from clients/java/signalr/src/main/java/com/microsoft/signalr/package-info.java
rename to src/SignalR/clients/java/signalr/src/main/java/com/microsoft/signalr/package-info.java
diff --git a/clients/java/signalr/src/test/java/com/microsoft/signalr/HandshakeProtocolTest.java b/src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/HandshakeProtocolTest.java
similarity index 100%
rename from clients/java/signalr/src/test/java/com/microsoft/signalr/HandshakeProtocolTest.java
rename to src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/HandshakeProtocolTest.java
diff --git a/clients/java/signalr/src/test/java/com/microsoft/signalr/HubConnectionBuilderTest.java b/src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/HubConnectionBuilderTest.java
similarity index 100%
rename from clients/java/signalr/src/test/java/com/microsoft/signalr/HubConnectionBuilderTest.java
rename to src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/HubConnectionBuilderTest.java
diff --git a/clients/java/signalr/src/test/java/com/microsoft/signalr/HubConnectionTest.java b/src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/HubConnectionTest.java
similarity index 100%
rename from clients/java/signalr/src/test/java/com/microsoft/signalr/HubConnectionTest.java
rename to src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/HubConnectionTest.java
diff --git a/clients/java/signalr/src/test/java/com/microsoft/signalr/HubExceptionTest.java b/src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/HubExceptionTest.java
similarity index 100%
rename from clients/java/signalr/src/test/java/com/microsoft/signalr/HubExceptionTest.java
rename to src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/HubExceptionTest.java
diff --git a/clients/java/signalr/src/test/java/com/microsoft/signalr/JsonHubProtocolTest.java b/src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/JsonHubProtocolTest.java
similarity index 100%
rename from clients/java/signalr/src/test/java/com/microsoft/signalr/JsonHubProtocolTest.java
rename to src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/JsonHubProtocolTest.java
diff --git a/clients/java/signalr/src/test/java/com/microsoft/signalr/MockTransport.java b/src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/MockTransport.java
similarity index 100%
rename from clients/java/signalr/src/test/java/com/microsoft/signalr/MockTransport.java
rename to src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/MockTransport.java
diff --git a/clients/java/signalr/src/test/java/com/microsoft/signalr/NegotiateResponseTest.java b/src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/NegotiateResponseTest.java
similarity index 100%
rename from clients/java/signalr/src/test/java/com/microsoft/signalr/NegotiateResponseTest.java
rename to src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/NegotiateResponseTest.java
diff --git a/clients/java/signalr/src/test/java/com/microsoft/signalr/ResolveNegotiateUrlTest.java b/src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/ResolveNegotiateUrlTest.java
similarity index 100%
rename from clients/java/signalr/src/test/java/com/microsoft/signalr/ResolveNegotiateUrlTest.java
rename to src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/ResolveNegotiateUrlTest.java
diff --git a/clients/java/signalr/src/test/java/com/microsoft/signalr/TestHttpClient.java b/src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/TestHttpClient.java
similarity index 100%
rename from clients/java/signalr/src/test/java/com/microsoft/signalr/TestHttpClient.java
rename to src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/TestHttpClient.java
diff --git a/clients/java/signalr/src/test/java/com/microsoft/signalr/TestUtils.java b/src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/TestUtils.java
similarity index 100%
rename from clients/java/signalr/src/test/java/com/microsoft/signalr/TestUtils.java
rename to src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/TestUtils.java
diff --git a/clients/java/signalr/src/test/java/com/microsoft/signalr/WebSocketTransportTest.java b/src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/WebSocketTransportTest.java
similarity index 100%
rename from clients/java/signalr/src/test/java/com/microsoft/signalr/WebSocketTransportTest.java
rename to src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/WebSocketTransportTest.java
diff --git a/clients/java/signalr/src/test/java/com/microsoft/signalr/WebSocketTransportUrlFormatTest.java b/src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/WebSocketTransportUrlFormatTest.java
similarity index 100%
rename from clients/java/signalr/src/test/java/com/microsoft/signalr/WebSocketTransportUrlFormatTest.java
rename to src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/WebSocketTransportUrlFormatTest.java
diff --git a/clients/java/signalr/src/test/java/com/microsoft/signalr/sample/Chat.java b/src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/sample/Chat.java
similarity index 100%
rename from clients/java/signalr/src/test/java/com/microsoft/signalr/sample/Chat.java
rename to src/SignalR/clients/java/signalr/src/test/java/com/microsoft/signalr/sample/Chat.java
diff --git a/clients/ts/FunctionalTests/.gitignore b/src/SignalR/clients/ts/FunctionalTests/.gitignore
similarity index 100%
rename from clients/ts/FunctionalTests/.gitignore
rename to src/SignalR/clients/ts/FunctionalTests/.gitignore
diff --git a/clients/ts/FunctionalTests/AuthorizedHub.cs b/src/SignalR/clients/ts/FunctionalTests/AuthorizedHub.cs
similarity index 100%
rename from clients/ts/FunctionalTests/AuthorizedHub.cs
rename to src/SignalR/clients/ts/FunctionalTests/AuthorizedHub.cs
diff --git a/clients/ts/FunctionalTests/ComplexObject.cs b/src/SignalR/clients/ts/FunctionalTests/ComplexObject.cs
similarity index 100%
rename from clients/ts/FunctionalTests/ComplexObject.cs
rename to src/SignalR/clients/ts/FunctionalTests/ComplexObject.cs
diff --git a/clients/ts/FunctionalTests/EchoConnectionHandler.cs b/src/SignalR/clients/ts/FunctionalTests/EchoConnectionHandler.cs
similarity index 100%
rename from clients/ts/FunctionalTests/EchoConnectionHandler.cs
rename to src/SignalR/clients/ts/FunctionalTests/EchoConnectionHandler.cs
diff --git a/clients/ts/FunctionalTests/FunctionalTests.csproj b/src/SignalR/clients/ts/FunctionalTests/FunctionalTests.csproj
similarity index 100%
rename from clients/ts/FunctionalTests/FunctionalTests.csproj
rename to src/SignalR/clients/ts/FunctionalTests/FunctionalTests.csproj
diff --git a/clients/ts/FunctionalTests/Program.cs b/src/SignalR/clients/ts/FunctionalTests/Program.cs
similarity index 100%
rename from clients/ts/FunctionalTests/Program.cs
rename to src/SignalR/clients/ts/FunctionalTests/Program.cs
diff --git a/clients/ts/FunctionalTests/Startup.cs b/src/SignalR/clients/ts/FunctionalTests/Startup.cs
similarity index 100%
rename from clients/ts/FunctionalTests/Startup.cs
rename to src/SignalR/clients/ts/FunctionalTests/Startup.cs
diff --git a/clients/ts/FunctionalTests/TestHub.cs b/src/SignalR/clients/ts/FunctionalTests/TestHub.cs
similarity index 100%
rename from clients/ts/FunctionalTests/TestHub.cs
rename to src/SignalR/clients/ts/FunctionalTests/TestHub.cs
diff --git a/clients/ts/FunctionalTests/UncreatableHub.cs b/src/SignalR/clients/ts/FunctionalTests/UncreatableHub.cs
similarity index 100%
rename from clients/ts/FunctionalTests/UncreatableHub.cs
rename to src/SignalR/clients/ts/FunctionalTests/UncreatableHub.cs
diff --git a/clients/ts/FunctionalTests/func.jest.config.js b/src/SignalR/clients/ts/FunctionalTests/func.jest.config.js
similarity index 100%
rename from clients/ts/FunctionalTests/func.jest.config.js
rename to src/SignalR/clients/ts/FunctionalTests/func.jest.config.js
diff --git a/clients/ts/FunctionalTests/package-lock.json b/src/SignalR/clients/ts/FunctionalTests/package-lock.json
similarity index 100%
rename from clients/ts/FunctionalTests/package-lock.json
rename to src/SignalR/clients/ts/FunctionalTests/package-lock.json
diff --git a/clients/ts/FunctionalTests/package.json b/src/SignalR/clients/ts/FunctionalTests/package.json
similarity index 100%
rename from clients/ts/FunctionalTests/package.json
rename to src/SignalR/clients/ts/FunctionalTests/package.json
diff --git a/clients/ts/FunctionalTests/scripts/karma.base.conf.js b/src/SignalR/clients/ts/FunctionalTests/scripts/karma.base.conf.js
similarity index 100%
rename from clients/ts/FunctionalTests/scripts/karma.base.conf.js
rename to src/SignalR/clients/ts/FunctionalTests/scripts/karma.base.conf.js
diff --git a/clients/ts/FunctionalTests/scripts/karma.local.conf.js b/src/SignalR/clients/ts/FunctionalTests/scripts/karma.local.conf.js
similarity index 100%
rename from clients/ts/FunctionalTests/scripts/karma.local.conf.js
rename to src/SignalR/clients/ts/FunctionalTests/scripts/karma.local.conf.js
diff --git a/clients/ts/FunctionalTests/scripts/karma.sauce.conf.js b/src/SignalR/clients/ts/FunctionalTests/scripts/karma.sauce.conf.js
similarity index 100%
rename from clients/ts/FunctionalTests/scripts/karma.sauce.conf.js
rename to src/SignalR/clients/ts/FunctionalTests/scripts/karma.sauce.conf.js
diff --git a/clients/ts/FunctionalTests/scripts/run-tests.ts b/src/SignalR/clients/ts/FunctionalTests/scripts/run-tests.ts
similarity index 100%
rename from clients/ts/FunctionalTests/scripts/run-tests.ts
rename to src/SignalR/clients/ts/FunctionalTests/scripts/run-tests.ts
diff --git a/clients/ts/FunctionalTests/scripts/tsconfig.json b/src/SignalR/clients/ts/FunctionalTests/scripts/tsconfig.json
similarity index 100%
rename from clients/ts/FunctionalTests/scripts/tsconfig.json
rename to src/SignalR/clients/ts/FunctionalTests/scripts/tsconfig.json
diff --git a/clients/ts/FunctionalTests/testCert.pfx b/src/SignalR/clients/ts/FunctionalTests/testCert.pfx
similarity index 100%
rename from clients/ts/FunctionalTests/testCert.pfx
rename to src/SignalR/clients/ts/FunctionalTests/testCert.pfx
diff --git a/clients/ts/FunctionalTests/testCertECC.pfx b/src/SignalR/clients/ts/FunctionalTests/testCertECC.pfx
similarity index 100%
rename from clients/ts/FunctionalTests/testCertECC.pfx
rename to src/SignalR/clients/ts/FunctionalTests/testCertECC.pfx
diff --git a/clients/ts/FunctionalTests/ts/Common.ts b/src/SignalR/clients/ts/FunctionalTests/ts/Common.ts
similarity index 100%
rename from clients/ts/FunctionalTests/ts/Common.ts
rename to src/SignalR/clients/ts/FunctionalTests/ts/Common.ts
diff --git a/clients/ts/FunctionalTests/ts/ConnectionTests.ts b/src/SignalR/clients/ts/FunctionalTests/ts/ConnectionTests.ts
similarity index 100%
rename from clients/ts/FunctionalTests/ts/ConnectionTests.ts
rename to src/SignalR/clients/ts/FunctionalTests/ts/ConnectionTests.ts
diff --git a/clients/ts/FunctionalTests/ts/HubConnectionTests.ts b/src/SignalR/clients/ts/FunctionalTests/ts/HubConnectionTests.ts
similarity index 100%
rename from clients/ts/FunctionalTests/ts/HubConnectionTests.ts
rename to src/SignalR/clients/ts/FunctionalTests/ts/HubConnectionTests.ts
diff --git a/clients/ts/FunctionalTests/ts/LogBannerReporter.ts b/src/SignalR/clients/ts/FunctionalTests/ts/LogBannerReporter.ts
similarity index 100%
rename from clients/ts/FunctionalTests/ts/LogBannerReporter.ts
rename to src/SignalR/clients/ts/FunctionalTests/ts/LogBannerReporter.ts
diff --git a/clients/ts/FunctionalTests/ts/TestLogger.ts b/src/SignalR/clients/ts/FunctionalTests/ts/TestLogger.ts
similarity index 100%
rename from clients/ts/FunctionalTests/ts/TestLogger.ts
rename to src/SignalR/clients/ts/FunctionalTests/ts/TestLogger.ts
diff --git a/clients/ts/FunctionalTests/ts/Utils.ts b/src/SignalR/clients/ts/FunctionalTests/ts/Utils.ts
similarity index 100%
rename from clients/ts/FunctionalTests/ts/Utils.ts
rename to src/SignalR/clients/ts/FunctionalTests/ts/Utils.ts
diff --git a/clients/ts/FunctionalTests/ts/WebSocketTests.ts b/src/SignalR/clients/ts/FunctionalTests/ts/WebSocketTests.ts
similarity index 100%
rename from clients/ts/FunctionalTests/ts/WebSocketTests.ts
rename to src/SignalR/clients/ts/FunctionalTests/ts/WebSocketTests.ts
diff --git a/clients/ts/FunctionalTests/ts/index.ts b/src/SignalR/clients/ts/FunctionalTests/ts/index.ts
similarity index 100%
rename from clients/ts/FunctionalTests/ts/index.ts
rename to src/SignalR/clients/ts/FunctionalTests/ts/index.ts
diff --git a/clients/ts/FunctionalTests/tsconfig.json b/src/SignalR/clients/ts/FunctionalTests/tsconfig.json
similarity index 100%
rename from clients/ts/FunctionalTests/tsconfig.json
rename to src/SignalR/clients/ts/FunctionalTests/tsconfig.json
diff --git a/clients/ts/FunctionalTests/web.config b/src/SignalR/clients/ts/FunctionalTests/web.config
similarity index 100%
rename from clients/ts/FunctionalTests/web.config
rename to src/SignalR/clients/ts/FunctionalTests/web.config
diff --git a/clients/ts/FunctionalTests/webpack.config.js b/src/SignalR/clients/ts/FunctionalTests/webpack.config.js
similarity index 100%
rename from clients/ts/FunctionalTests/webpack.config.js
rename to src/SignalR/clients/ts/FunctionalTests/webpack.config.js
diff --git a/clients/ts/FunctionalTests/wwwroot/default.html b/src/SignalR/clients/ts/FunctionalTests/wwwroot/default.html
similarity index 100%
rename from clients/ts/FunctionalTests/wwwroot/default.html
rename to src/SignalR/clients/ts/FunctionalTests/wwwroot/default.html
diff --git a/clients/ts/build/embed-version.js b/src/SignalR/clients/ts/build/embed-version.js
similarity index 100%
rename from clients/ts/build/embed-version.js
rename to src/SignalR/clients/ts/build/embed-version.js
diff --git a/clients/ts/common/package-lock.json b/src/SignalR/clients/ts/common/package-lock.json
similarity index 100%
rename from clients/ts/common/package-lock.json
rename to src/SignalR/clients/ts/common/package-lock.json
diff --git a/clients/ts/common/package.json b/src/SignalR/clients/ts/common/package.json
similarity index 100%
rename from clients/ts/common/package.json
rename to src/SignalR/clients/ts/common/package.json
diff --git a/clients/ts/jest.config.js b/src/SignalR/clients/ts/jest.config.js
similarity index 100%
rename from clients/ts/jest.config.js
rename to src/SignalR/clients/ts/jest.config.js
diff --git a/clients/ts/package-lock.json b/src/SignalR/clients/ts/package-lock.json
similarity index 100%
rename from clients/ts/package-lock.json
rename to src/SignalR/clients/ts/package-lock.json
diff --git a/clients/ts/package.json b/src/SignalR/clients/ts/package.json
similarity index 100%
rename from clients/ts/package.json
rename to src/SignalR/clients/ts/package.json
diff --git a/clients/ts/signalr-protocol-msgpack/README.md b/src/SignalR/clients/ts/signalr-protocol-msgpack/README.md
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/README.md
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/README.md
diff --git a/clients/ts/signalr-protocol-msgpack/package-lock.json b/src/SignalR/clients/ts/signalr-protocol-msgpack/package-lock.json
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/package-lock.json
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/package-lock.json
diff --git a/clients/ts/signalr-protocol-msgpack/package.json b/src/SignalR/clients/ts/signalr-protocol-msgpack/package.json
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/package.json
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/package.json
diff --git a/clients/ts/signalr-protocol-msgpack/rollup.config.js b/src/SignalR/clients/ts/signalr-protocol-msgpack/rollup.config.js
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/rollup.config.js
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/rollup.config.js
diff --git a/clients/ts/signalr-protocol-msgpack/src/BinaryMessageFormat.ts b/src/SignalR/clients/ts/signalr-protocol-msgpack/src/BinaryMessageFormat.ts
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/src/BinaryMessageFormat.ts
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/src/BinaryMessageFormat.ts
diff --git a/clients/ts/signalr-protocol-msgpack/src/MessagePackHubProtocol.ts b/src/SignalR/clients/ts/signalr-protocol-msgpack/src/MessagePackHubProtocol.ts
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/src/MessagePackHubProtocol.ts
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/src/MessagePackHubProtocol.ts
diff --git a/clients/ts/signalr-protocol-msgpack/src/Utils.ts b/src/SignalR/clients/ts/signalr-protocol-msgpack/src/Utils.ts
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/src/Utils.ts
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/src/Utils.ts
diff --git a/clients/ts/signalr-protocol-msgpack/src/browser-index.ts b/src/SignalR/clients/ts/signalr-protocol-msgpack/src/browser-index.ts
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/src/browser-index.ts
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/src/browser-index.ts
diff --git a/clients/ts/signalr-protocol-msgpack/src/index.ts b/src/SignalR/clients/ts/signalr-protocol-msgpack/src/index.ts
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/src/index.ts
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/src/index.ts
diff --git a/clients/ts/signalr-protocol-msgpack/src/third-party-notices.txt b/src/SignalR/clients/ts/signalr-protocol-msgpack/src/third-party-notices.txt
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/src/third-party-notices.txt
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/src/third-party-notices.txt
diff --git a/clients/ts/signalr-protocol-msgpack/tests/BinaryMessageFormatter.test.ts b/src/SignalR/clients/ts/signalr-protocol-msgpack/tests/BinaryMessageFormatter.test.ts
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/tests/BinaryMessageFormatter.test.ts
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/tests/BinaryMessageFormatter.test.ts
diff --git a/clients/ts/signalr-protocol-msgpack/tests/MessagePackHubProtocol.test.ts b/src/SignalR/clients/ts/signalr-protocol-msgpack/tests/MessagePackHubProtocol.test.ts
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/tests/MessagePackHubProtocol.test.ts
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/tests/MessagePackHubProtocol.test.ts
diff --git a/clients/ts/signalr-protocol-msgpack/tests/tsconfig.json b/src/SignalR/clients/ts/signalr-protocol-msgpack/tests/tsconfig.json
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/tests/tsconfig.json
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/tests/tsconfig.json
diff --git a/clients/ts/signalr-protocol-msgpack/tsconfig.json b/src/SignalR/clients/ts/signalr-protocol-msgpack/tsconfig.json
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/tsconfig.json
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/tsconfig.json
diff --git a/clients/ts/signalr-protocol-msgpack/webpack.config.js b/src/SignalR/clients/ts/signalr-protocol-msgpack/webpack.config.js
similarity index 100%
rename from clients/ts/signalr-protocol-msgpack/webpack.config.js
rename to src/SignalR/clients/ts/signalr-protocol-msgpack/webpack.config.js
diff --git a/clients/ts/signalr/README.md b/src/SignalR/clients/ts/signalr/README.md
similarity index 100%
rename from clients/ts/signalr/README.md
rename to src/SignalR/clients/ts/signalr/README.md
diff --git a/clients/ts/signalr/build/process-dts.js b/src/SignalR/clients/ts/signalr/build/process-dts.js
similarity index 100%
rename from clients/ts/signalr/build/process-dts.js
rename to src/SignalR/clients/ts/signalr/build/process-dts.js
diff --git a/clients/ts/signalr/package-lock.json b/src/SignalR/clients/ts/signalr/package-lock.json
similarity index 100%
rename from clients/ts/signalr/package-lock.json
rename to src/SignalR/clients/ts/signalr/package-lock.json
diff --git a/clients/ts/signalr/package.json b/src/SignalR/clients/ts/signalr/package.json
similarity index 100%
rename from clients/ts/signalr/package.json
rename to src/SignalR/clients/ts/signalr/package.json
diff --git a/clients/ts/signalr/rollup.config.js b/src/SignalR/clients/ts/signalr/rollup.config.js
similarity index 100%
rename from clients/ts/signalr/rollup.config.js
rename to src/SignalR/clients/ts/signalr/rollup.config.js
diff --git a/clients/ts/signalr/src/AbortController.ts b/src/SignalR/clients/ts/signalr/src/AbortController.ts
similarity index 100%
rename from clients/ts/signalr/src/AbortController.ts
rename to src/SignalR/clients/ts/signalr/src/AbortController.ts
diff --git a/clients/ts/signalr/src/DefaultHttpClient.ts b/src/SignalR/clients/ts/signalr/src/DefaultHttpClient.ts
similarity index 100%
rename from clients/ts/signalr/src/DefaultHttpClient.ts
rename to src/SignalR/clients/ts/signalr/src/DefaultHttpClient.ts
diff --git a/clients/ts/signalr/src/Errors.ts b/src/SignalR/clients/ts/signalr/src/Errors.ts
similarity index 100%
rename from clients/ts/signalr/src/Errors.ts
rename to src/SignalR/clients/ts/signalr/src/Errors.ts
diff --git a/clients/ts/signalr/src/HandshakeProtocol.ts b/src/SignalR/clients/ts/signalr/src/HandshakeProtocol.ts
similarity index 100%
rename from clients/ts/signalr/src/HandshakeProtocol.ts
rename to src/SignalR/clients/ts/signalr/src/HandshakeProtocol.ts
diff --git a/clients/ts/signalr/src/HttpClient.ts b/src/SignalR/clients/ts/signalr/src/HttpClient.ts
similarity index 100%
rename from clients/ts/signalr/src/HttpClient.ts
rename to src/SignalR/clients/ts/signalr/src/HttpClient.ts
diff --git a/clients/ts/signalr/src/HttpConnection.ts b/src/SignalR/clients/ts/signalr/src/HttpConnection.ts
similarity index 100%
rename from clients/ts/signalr/src/HttpConnection.ts
rename to src/SignalR/clients/ts/signalr/src/HttpConnection.ts
diff --git a/clients/ts/signalr/src/HubConnection.ts b/src/SignalR/clients/ts/signalr/src/HubConnection.ts
similarity index 100%
rename from clients/ts/signalr/src/HubConnection.ts
rename to src/SignalR/clients/ts/signalr/src/HubConnection.ts
diff --git a/clients/ts/signalr/src/HubConnectionBuilder.ts b/src/SignalR/clients/ts/signalr/src/HubConnectionBuilder.ts
similarity index 100%
rename from clients/ts/signalr/src/HubConnectionBuilder.ts
rename to src/SignalR/clients/ts/signalr/src/HubConnectionBuilder.ts
diff --git a/clients/ts/signalr/src/IConnection.ts b/src/SignalR/clients/ts/signalr/src/IConnection.ts
similarity index 100%
rename from clients/ts/signalr/src/IConnection.ts
rename to src/SignalR/clients/ts/signalr/src/IConnection.ts
diff --git a/clients/ts/signalr/src/IHttpConnectionOptions.ts b/src/SignalR/clients/ts/signalr/src/IHttpConnectionOptions.ts
similarity index 100%
rename from clients/ts/signalr/src/IHttpConnectionOptions.ts
rename to src/SignalR/clients/ts/signalr/src/IHttpConnectionOptions.ts
diff --git a/clients/ts/signalr/src/IHubProtocol.ts b/src/SignalR/clients/ts/signalr/src/IHubProtocol.ts
similarity index 100%
rename from clients/ts/signalr/src/IHubProtocol.ts
rename to src/SignalR/clients/ts/signalr/src/IHubProtocol.ts
diff --git a/clients/ts/signalr/src/ILogger.ts b/src/SignalR/clients/ts/signalr/src/ILogger.ts
similarity index 100%
rename from clients/ts/signalr/src/ILogger.ts
rename to src/SignalR/clients/ts/signalr/src/ILogger.ts
diff --git a/clients/ts/signalr/src/ITransport.ts b/src/SignalR/clients/ts/signalr/src/ITransport.ts
similarity index 100%
rename from clients/ts/signalr/src/ITransport.ts
rename to src/SignalR/clients/ts/signalr/src/ITransport.ts
diff --git a/clients/ts/signalr/src/JsonHubProtocol.ts b/src/SignalR/clients/ts/signalr/src/JsonHubProtocol.ts
similarity index 100%
rename from clients/ts/signalr/src/JsonHubProtocol.ts
rename to src/SignalR/clients/ts/signalr/src/JsonHubProtocol.ts
diff --git a/clients/ts/signalr/src/Loggers.ts b/src/SignalR/clients/ts/signalr/src/Loggers.ts
similarity index 100%
rename from clients/ts/signalr/src/Loggers.ts
rename to src/SignalR/clients/ts/signalr/src/Loggers.ts
diff --git a/clients/ts/signalr/src/LongPollingTransport.ts b/src/SignalR/clients/ts/signalr/src/LongPollingTransport.ts
similarity index 100%
rename from clients/ts/signalr/src/LongPollingTransport.ts
rename to src/SignalR/clients/ts/signalr/src/LongPollingTransport.ts
diff --git a/clients/ts/signalr/src/NodeHttpClient.ts b/src/SignalR/clients/ts/signalr/src/NodeHttpClient.ts
similarity index 100%
rename from clients/ts/signalr/src/NodeHttpClient.ts
rename to src/SignalR/clients/ts/signalr/src/NodeHttpClient.ts
diff --git a/clients/ts/signalr/src/Polyfills.ts b/src/SignalR/clients/ts/signalr/src/Polyfills.ts
similarity index 100%
rename from clients/ts/signalr/src/Polyfills.ts
rename to src/SignalR/clients/ts/signalr/src/Polyfills.ts
diff --git a/clients/ts/signalr/src/ServerSentEventsTransport.ts b/src/SignalR/clients/ts/signalr/src/ServerSentEventsTransport.ts
similarity index 100%
rename from clients/ts/signalr/src/ServerSentEventsTransport.ts
rename to src/SignalR/clients/ts/signalr/src/ServerSentEventsTransport.ts
diff --git a/clients/ts/signalr/src/Stream.ts b/src/SignalR/clients/ts/signalr/src/Stream.ts
similarity index 100%
rename from clients/ts/signalr/src/Stream.ts
rename to src/SignalR/clients/ts/signalr/src/Stream.ts
diff --git a/clients/ts/signalr/src/TextMessageFormat.ts b/src/SignalR/clients/ts/signalr/src/TextMessageFormat.ts
similarity index 100%
rename from clients/ts/signalr/src/TextMessageFormat.ts
rename to src/SignalR/clients/ts/signalr/src/TextMessageFormat.ts
diff --git a/clients/ts/signalr/src/Utils.ts b/src/SignalR/clients/ts/signalr/src/Utils.ts
similarity index 100%
rename from clients/ts/signalr/src/Utils.ts
rename to src/SignalR/clients/ts/signalr/src/Utils.ts
diff --git a/clients/ts/signalr/src/WebSocketTransport.ts b/src/SignalR/clients/ts/signalr/src/WebSocketTransport.ts
similarity index 100%
rename from clients/ts/signalr/src/WebSocketTransport.ts
rename to src/SignalR/clients/ts/signalr/src/WebSocketTransport.ts
diff --git a/clients/ts/signalr/src/XhrHttpClient.ts b/src/SignalR/clients/ts/signalr/src/XhrHttpClient.ts
similarity index 100%
rename from clients/ts/signalr/src/XhrHttpClient.ts
rename to src/SignalR/clients/ts/signalr/src/XhrHttpClient.ts
diff --git a/clients/ts/signalr/src/browser-index.ts b/src/SignalR/clients/ts/signalr/src/browser-index.ts
similarity index 100%
rename from clients/ts/signalr/src/browser-index.ts
rename to src/SignalR/clients/ts/signalr/src/browser-index.ts
diff --git a/clients/ts/signalr/src/index.ts b/src/SignalR/clients/ts/signalr/src/index.ts
similarity index 100%
rename from clients/ts/signalr/src/index.ts
rename to src/SignalR/clients/ts/signalr/src/index.ts
diff --git a/clients/ts/signalr/src/third-party-notices.txt b/src/SignalR/clients/ts/signalr/src/third-party-notices.txt
similarity index 100%
rename from clients/ts/signalr/src/third-party-notices.txt
rename to src/SignalR/clients/ts/signalr/src/third-party-notices.txt
diff --git a/clients/ts/signalr/tests/AbortSignal.test.ts b/src/SignalR/clients/ts/signalr/tests/AbortSignal.test.ts
similarity index 100%
rename from clients/ts/signalr/tests/AbortSignal.test.ts
rename to src/SignalR/clients/ts/signalr/tests/AbortSignal.test.ts
diff --git a/clients/ts/signalr/tests/Common.ts b/src/SignalR/clients/ts/signalr/tests/Common.ts
similarity index 100%
rename from clients/ts/signalr/tests/Common.ts
rename to src/SignalR/clients/ts/signalr/tests/Common.ts
diff --git a/clients/ts/signalr/tests/HttpClient.test.ts b/src/SignalR/clients/ts/signalr/tests/HttpClient.test.ts
similarity index 100%
rename from clients/ts/signalr/tests/HttpClient.test.ts
rename to src/SignalR/clients/ts/signalr/tests/HttpClient.test.ts
diff --git a/clients/ts/signalr/tests/HttpConnection.test.ts b/src/SignalR/clients/ts/signalr/tests/HttpConnection.test.ts
similarity index 100%
rename from clients/ts/signalr/tests/HttpConnection.test.ts
rename to src/SignalR/clients/ts/signalr/tests/HttpConnection.test.ts
diff --git a/clients/ts/signalr/tests/HubConnection.test.ts b/src/SignalR/clients/ts/signalr/tests/HubConnection.test.ts
similarity index 100%
rename from clients/ts/signalr/tests/HubConnection.test.ts
rename to src/SignalR/clients/ts/signalr/tests/HubConnection.test.ts
diff --git a/clients/ts/signalr/tests/HubConnectionBuilder.test.ts b/src/SignalR/clients/ts/signalr/tests/HubConnectionBuilder.test.ts
similarity index 100%
rename from clients/ts/signalr/tests/HubConnectionBuilder.test.ts
rename to src/SignalR/clients/ts/signalr/tests/HubConnectionBuilder.test.ts
diff --git a/clients/ts/signalr/tests/JsonHubProtocol.test.ts b/src/SignalR/clients/ts/signalr/tests/JsonHubProtocol.test.ts
similarity index 100%
rename from clients/ts/signalr/tests/JsonHubProtocol.test.ts
rename to src/SignalR/clients/ts/signalr/tests/JsonHubProtocol.test.ts
diff --git a/clients/ts/signalr/tests/LongPollingTransport.test.ts b/src/SignalR/clients/ts/signalr/tests/LongPollingTransport.test.ts
similarity index 100%
rename from clients/ts/signalr/tests/LongPollingTransport.test.ts
rename to src/SignalR/clients/ts/signalr/tests/LongPollingTransport.test.ts
diff --git a/clients/ts/signalr/tests/ServerSentEventsTransport.test.ts b/src/SignalR/clients/ts/signalr/tests/ServerSentEventsTransport.test.ts
similarity index 100%
rename from clients/ts/signalr/tests/ServerSentEventsTransport.test.ts
rename to src/SignalR/clients/ts/signalr/tests/ServerSentEventsTransport.test.ts
diff --git a/clients/ts/signalr/tests/TestEventSource.ts b/src/SignalR/clients/ts/signalr/tests/TestEventSource.ts
similarity index 100%
rename from clients/ts/signalr/tests/TestEventSource.ts
rename to src/SignalR/clients/ts/signalr/tests/TestEventSource.ts
diff --git a/clients/ts/signalr/tests/TestHttpClient.ts b/src/SignalR/clients/ts/signalr/tests/TestHttpClient.ts
similarity index 100%
rename from clients/ts/signalr/tests/TestHttpClient.ts
rename to src/SignalR/clients/ts/signalr/tests/TestHttpClient.ts
diff --git a/clients/ts/signalr/tests/TestWebSocket.ts b/src/SignalR/clients/ts/signalr/tests/TestWebSocket.ts
similarity index 100%
rename from clients/ts/signalr/tests/TestWebSocket.ts
rename to src/SignalR/clients/ts/signalr/tests/TestWebSocket.ts
diff --git a/clients/ts/signalr/tests/TextMessageFormat.test.ts b/src/SignalR/clients/ts/signalr/tests/TextMessageFormat.test.ts
similarity index 100%
rename from clients/ts/signalr/tests/TextMessageFormat.test.ts
rename to src/SignalR/clients/ts/signalr/tests/TextMessageFormat.test.ts
diff --git a/clients/ts/signalr/tests/Utils.ts b/src/SignalR/clients/ts/signalr/tests/Utils.ts
similarity index 100%
rename from clients/ts/signalr/tests/Utils.ts
rename to src/SignalR/clients/ts/signalr/tests/Utils.ts
diff --git a/clients/ts/signalr/tests/WebSocketTransport.test.ts b/src/SignalR/clients/ts/signalr/tests/WebSocketTransport.test.ts
similarity index 100%
rename from clients/ts/signalr/tests/WebSocketTransport.test.ts
rename to src/SignalR/clients/ts/signalr/tests/WebSocketTransport.test.ts
diff --git a/clients/ts/signalr/tests/tsconfig.json b/src/SignalR/clients/ts/signalr/tests/tsconfig.json
similarity index 100%
rename from clients/ts/signalr/tests/tsconfig.json
rename to src/SignalR/clients/ts/signalr/tests/tsconfig.json
diff --git a/clients/ts/signalr/tsconfig.json b/src/SignalR/clients/ts/signalr/tsconfig.json
similarity index 100%
rename from clients/ts/signalr/tsconfig.json
rename to src/SignalR/clients/ts/signalr/tsconfig.json
diff --git a/clients/ts/signalr/webpack.config.js b/src/SignalR/clients/ts/signalr/webpack.config.js
similarity index 100%
rename from clients/ts/signalr/webpack.config.js
rename to src/SignalR/clients/ts/signalr/webpack.config.js
diff --git a/clients/ts/tsconfig.base.json b/src/SignalR/clients/ts/tsconfig.base.json
similarity index 100%
rename from clients/ts/tsconfig.base.json
rename to src/SignalR/clients/ts/tsconfig.base.json
diff --git a/clients/ts/tsconfig.jest.json b/src/SignalR/clients/ts/tsconfig.jest.json
similarity index 100%
rename from clients/ts/tsconfig.jest.json
rename to src/SignalR/clients/ts/tsconfig.jest.json
diff --git a/clients/ts/tslint.json b/src/SignalR/clients/ts/tslint.json
similarity index 100%
rename from clients/ts/tslint.json
rename to src/SignalR/clients/ts/tslint.json
diff --git a/clients/ts/webpack.config.base.js b/src/SignalR/clients/ts/webpack.config.base.js
similarity index 100%
rename from clients/ts/webpack.config.base.js
rename to src/SignalR/clients/ts/webpack.config.base.js
diff --git a/docs/GettingStarted.md b/src/SignalR/docs/GettingStarted.md
similarity index 100%
rename from docs/GettingStarted.md
rename to src/SignalR/docs/GettingStarted.md
diff --git a/docs/JSFunctionalTests.md b/src/SignalR/docs/JSFunctionalTests.md
similarity index 100%
rename from docs/JSFunctionalTests.md
rename to src/SignalR/docs/JSFunctionalTests.md
diff --git a/docs/JSUnitTests.md b/src/SignalR/docs/JSUnitTests.md
similarity index 100%
rename from docs/JSUnitTests.md
rename to src/SignalR/docs/JSUnitTests.md
diff --git a/samples/ClientSample/ClientSample.csproj b/src/SignalR/samples/ClientSample/ClientSample.csproj
similarity index 100%
rename from samples/ClientSample/ClientSample.csproj
rename to src/SignalR/samples/ClientSample/ClientSample.csproj
diff --git a/samples/ClientSample/HubSample.cs b/src/SignalR/samples/ClientSample/HubSample.cs
similarity index 100%
rename from samples/ClientSample/HubSample.cs
rename to src/SignalR/samples/ClientSample/HubSample.cs
diff --git a/samples/ClientSample/LoggingMessageHandler.cs b/src/SignalR/samples/ClientSample/LoggingMessageHandler.cs
similarity index 100%
rename from samples/ClientSample/LoggingMessageHandler.cs
rename to src/SignalR/samples/ClientSample/LoggingMessageHandler.cs
diff --git a/samples/ClientSample/Program.cs b/src/SignalR/samples/ClientSample/Program.cs
similarity index 100%
rename from samples/ClientSample/Program.cs
rename to src/SignalR/samples/ClientSample/Program.cs
diff --git a/samples/ClientSample/RawSample.cs b/src/SignalR/samples/ClientSample/RawSample.cs
similarity index 100%
rename from samples/ClientSample/RawSample.cs
rename to src/SignalR/samples/ClientSample/RawSample.cs
diff --git a/samples/ClientSample/StreamingSample.cs b/src/SignalR/samples/ClientSample/StreamingSample.cs
similarity index 100%
rename from samples/ClientSample/StreamingSample.cs
rename to src/SignalR/samples/ClientSample/StreamingSample.cs
diff --git a/samples/ClientSample/Tcp/BufferExtensions.cs b/src/SignalR/samples/ClientSample/Tcp/BufferExtensions.cs
similarity index 100%
rename from samples/ClientSample/Tcp/BufferExtensions.cs
rename to src/SignalR/samples/ClientSample/Tcp/BufferExtensions.cs
diff --git a/samples/ClientSample/Tcp/SocketAwaitable.cs b/src/SignalR/samples/ClientSample/Tcp/SocketAwaitable.cs
similarity index 100%
rename from samples/ClientSample/Tcp/SocketAwaitable.cs
rename to src/SignalR/samples/ClientSample/Tcp/SocketAwaitable.cs
diff --git a/samples/ClientSample/Tcp/SocketReceiver.cs b/src/SignalR/samples/ClientSample/Tcp/SocketReceiver.cs
similarity index 100%
rename from samples/ClientSample/Tcp/SocketReceiver.cs
rename to src/SignalR/samples/ClientSample/Tcp/SocketReceiver.cs
diff --git a/samples/ClientSample/Tcp/SocketSender.cs b/src/SignalR/samples/ClientSample/Tcp/SocketSender.cs
similarity index 100%
rename from samples/ClientSample/Tcp/SocketSender.cs
rename to src/SignalR/samples/ClientSample/Tcp/SocketSender.cs
diff --git a/samples/ClientSample/Tcp/TcpConnection.cs b/src/SignalR/samples/ClientSample/Tcp/TcpConnection.cs
similarity index 100%
rename from samples/ClientSample/Tcp/TcpConnection.cs
rename to src/SignalR/samples/ClientSample/Tcp/TcpConnection.cs
diff --git a/samples/ClientSample/Tcp/TcpHubConnectionBuilderExtensions.cs b/src/SignalR/samples/ClientSample/Tcp/TcpHubConnectionBuilderExtensions.cs
similarity index 100%
rename from samples/ClientSample/Tcp/TcpHubConnectionBuilderExtensions.cs
rename to src/SignalR/samples/ClientSample/Tcp/TcpHubConnectionBuilderExtensions.cs
diff --git a/samples/ClientSample/UploadSample.cs b/src/SignalR/samples/ClientSample/UploadSample.cs
similarity index 100%
rename from samples/ClientSample/UploadSample.cs
rename to src/SignalR/samples/ClientSample/UploadSample.cs
diff --git a/samples/JwtClientSample/JwtClientSample.csproj b/src/SignalR/samples/JwtClientSample/JwtClientSample.csproj
similarity index 100%
rename from samples/JwtClientSample/JwtClientSample.csproj
rename to src/SignalR/samples/JwtClientSample/JwtClientSample.csproj
diff --git a/samples/JwtClientSample/Program.cs b/src/SignalR/samples/JwtClientSample/Program.cs
similarity index 100%
rename from samples/JwtClientSample/Program.cs
rename to src/SignalR/samples/JwtClientSample/Program.cs
diff --git a/samples/JwtSample/.gitignore b/src/SignalR/samples/JwtSample/.gitignore
similarity index 100%
rename from samples/JwtSample/.gitignore
rename to src/SignalR/samples/JwtSample/.gitignore
diff --git a/samples/JwtSample/Broadcaster.cs b/src/SignalR/samples/JwtSample/Broadcaster.cs
similarity index 100%
rename from samples/JwtSample/Broadcaster.cs
rename to src/SignalR/samples/JwtSample/Broadcaster.cs
diff --git a/samples/JwtSample/JwtSample.csproj b/src/SignalR/samples/JwtSample/JwtSample.csproj
similarity index 100%
rename from samples/JwtSample/JwtSample.csproj
rename to src/SignalR/samples/JwtSample/JwtSample.csproj
diff --git a/samples/JwtSample/Program.cs b/src/SignalR/samples/JwtSample/Program.cs
similarity index 100%
rename from samples/JwtSample/Program.cs
rename to src/SignalR/samples/JwtSample/Program.cs
diff --git a/samples/JwtSample/Properties/launchSettings.json b/src/SignalR/samples/JwtSample/Properties/launchSettings.json
similarity index 100%
rename from samples/JwtSample/Properties/launchSettings.json
rename to src/SignalR/samples/JwtSample/Properties/launchSettings.json
diff --git a/samples/JwtSample/Startup.cs b/src/SignalR/samples/JwtSample/Startup.cs
similarity index 100%
rename from samples/JwtSample/Startup.cs
rename to src/SignalR/samples/JwtSample/Startup.cs
diff --git a/samples/JwtSample/wwwroot/index.html b/src/SignalR/samples/JwtSample/wwwroot/index.html
similarity index 100%
rename from samples/JwtSample/wwwroot/index.html
rename to src/SignalR/samples/JwtSample/wwwroot/index.html
diff --git a/samples/SignalRSamples/.gitignore b/src/SignalR/samples/SignalRSamples/.gitignore
similarity index 100%
rename from samples/SignalRSamples/.gitignore
rename to src/SignalR/samples/SignalRSamples/.gitignore
diff --git a/samples/SignalRSamples/ConnectionHandlers/MessagesConnectionHandler.cs b/src/SignalR/samples/SignalRSamples/ConnectionHandlers/MessagesConnectionHandler.cs
similarity index 100%
rename from samples/SignalRSamples/ConnectionHandlers/MessagesConnectionHandler.cs
rename to src/SignalR/samples/SignalRSamples/ConnectionHandlers/MessagesConnectionHandler.cs
diff --git a/samples/SignalRSamples/ConnectionList.cs b/src/SignalR/samples/SignalRSamples/ConnectionList.cs
similarity index 100%
rename from samples/SignalRSamples/ConnectionList.cs
rename to src/SignalR/samples/SignalRSamples/ConnectionList.cs
diff --git a/samples/SignalRSamples/Hubs/Chat.cs b/src/SignalR/samples/SignalRSamples/Hubs/Chat.cs
similarity index 100%
rename from samples/SignalRSamples/Hubs/Chat.cs
rename to src/SignalR/samples/SignalRSamples/Hubs/Chat.cs
diff --git a/samples/SignalRSamples/Hubs/DynamicChat.cs b/src/SignalR/samples/SignalRSamples/Hubs/DynamicChat.cs
similarity index 100%
rename from samples/SignalRSamples/Hubs/DynamicChat.cs
rename to src/SignalR/samples/SignalRSamples/Hubs/DynamicChat.cs
diff --git a/samples/SignalRSamples/Hubs/HubTChat.cs b/src/SignalR/samples/SignalRSamples/Hubs/HubTChat.cs
similarity index 100%
rename from samples/SignalRSamples/Hubs/HubTChat.cs
rename to src/SignalR/samples/SignalRSamples/Hubs/HubTChat.cs
diff --git a/samples/SignalRSamples/Hubs/Streaming.cs b/src/SignalR/samples/SignalRSamples/Hubs/Streaming.cs
similarity index 100%
rename from samples/SignalRSamples/Hubs/Streaming.cs
rename to src/SignalR/samples/SignalRSamples/Hubs/Streaming.cs
diff --git a/samples/SignalRSamples/Hubs/UploadHub.cs b/src/SignalR/samples/SignalRSamples/Hubs/UploadHub.cs
similarity index 100%
rename from samples/SignalRSamples/Hubs/UploadHub.cs
rename to src/SignalR/samples/SignalRSamples/Hubs/UploadHub.cs
diff --git a/samples/SignalRSamples/ObservableExtensions.cs b/src/SignalR/samples/SignalRSamples/ObservableExtensions.cs
similarity index 100%
rename from samples/SignalRSamples/ObservableExtensions.cs
rename to src/SignalR/samples/SignalRSamples/ObservableExtensions.cs
diff --git a/samples/SignalRSamples/Program.cs b/src/SignalR/samples/SignalRSamples/Program.cs
similarity index 100%
rename from samples/SignalRSamples/Program.cs
rename to src/SignalR/samples/SignalRSamples/Program.cs
diff --git a/samples/SignalRSamples/SignalRSamples.csproj b/src/SignalR/samples/SignalRSamples/SignalRSamples.csproj
similarity index 100%
rename from samples/SignalRSamples/SignalRSamples.csproj
rename to src/SignalR/samples/SignalRSamples/SignalRSamples.csproj
diff --git a/samples/SignalRSamples/Startup.cs b/src/SignalR/samples/SignalRSamples/Startup.cs
similarity index 100%
rename from samples/SignalRSamples/Startup.cs
rename to src/SignalR/samples/SignalRSamples/Startup.cs
diff --git a/samples/SignalRSamples/web.config b/src/SignalR/samples/SignalRSamples/web.config
similarity index 100%
rename from samples/SignalRSamples/web.config
rename to src/SignalR/samples/SignalRSamples/web.config
diff --git a/samples/SignalRSamples/wwwroot/hubs.html b/src/SignalR/samples/SignalRSamples/wwwroot/hubs.html
similarity index 100%
rename from samples/SignalRSamples/wwwroot/hubs.html
rename to src/SignalR/samples/SignalRSamples/wwwroot/hubs.html
diff --git a/samples/SignalRSamples/wwwroot/index.html b/src/SignalR/samples/SignalRSamples/wwwroot/index.html
similarity index 100%
rename from samples/SignalRSamples/wwwroot/index.html
rename to src/SignalR/samples/SignalRSamples/wwwroot/index.html
diff --git a/samples/SignalRSamples/wwwroot/sockets.html b/src/SignalR/samples/SignalRSamples/wwwroot/sockets.html
similarity index 100%
rename from samples/SignalRSamples/wwwroot/sockets.html
rename to src/SignalR/samples/SignalRSamples/wwwroot/sockets.html
diff --git a/samples/SignalRSamples/wwwroot/streaming.html b/src/SignalR/samples/SignalRSamples/wwwroot/streaming.html
similarity index 100%
rename from samples/SignalRSamples/wwwroot/streaming.html
rename to src/SignalR/samples/SignalRSamples/wwwroot/streaming.html
diff --git a/samples/SignalRSamples/wwwroot/utils.js b/src/SignalR/samples/SignalRSamples/wwwroot/utils.js
similarity index 100%
rename from samples/SignalRSamples/wwwroot/utils.js
rename to src/SignalR/samples/SignalRSamples/wwwroot/utils.js
diff --git a/samples/SignalRSamples/wwwroot/ws.html b/src/SignalR/samples/SignalRSamples/wwwroot/ws.html
similarity index 100%
rename from samples/SignalRSamples/wwwroot/ws.html
rename to src/SignalR/samples/SignalRSamples/wwwroot/ws.html
diff --git a/samples/SocialWeather/ConnectionList.cs b/src/SignalR/samples/SocialWeather/ConnectionList.cs
similarity index 100%
rename from samples/SocialWeather/ConnectionList.cs
rename to src/SignalR/samples/SocialWeather/ConnectionList.cs
diff --git a/samples/SocialWeather/FormatterResolver.cs b/src/SignalR/samples/SocialWeather/FormatterResolver.cs
similarity index 100%
rename from samples/SocialWeather/FormatterResolver.cs
rename to src/SignalR/samples/SocialWeather/FormatterResolver.cs
diff --git a/samples/SocialWeather/IStreamFormatter.cs b/src/SignalR/samples/SocialWeather/IStreamFormatter.cs
similarity index 100%
rename from samples/SocialWeather/IStreamFormatter.cs
rename to src/SignalR/samples/SocialWeather/IStreamFormatter.cs
diff --git a/samples/SocialWeather/Json/JSonStreamFormatter.cs b/src/SignalR/samples/SocialWeather/Json/JSonStreamFormatter.cs
similarity index 100%
rename from samples/SocialWeather/Json/JSonStreamFormatter.cs
rename to src/SignalR/samples/SocialWeather/Json/JSonStreamFormatter.cs
diff --git a/samples/SocialWeather/PersistentConnectionLifeTimeManager.cs b/src/SignalR/samples/SocialWeather/PersistentConnectionLifeTimeManager.cs
similarity index 100%
rename from samples/SocialWeather/PersistentConnectionLifeTimeManager.cs
rename to src/SignalR/samples/SocialWeather/PersistentConnectionLifeTimeManager.cs
diff --git a/samples/SocialWeather/Pipe/PipeWeatherStreamFormatter.cs b/src/SignalR/samples/SocialWeather/Pipe/PipeWeatherStreamFormatter.cs
similarity index 100%
rename from samples/SocialWeather/Pipe/PipeWeatherStreamFormatter.cs
rename to src/SignalR/samples/SocialWeather/Pipe/PipeWeatherStreamFormatter.cs
diff --git a/samples/SocialWeather/Program.cs b/src/SignalR/samples/SocialWeather/Program.cs
similarity index 100%
rename from samples/SocialWeather/Program.cs
rename to src/SignalR/samples/SocialWeather/Program.cs
diff --git a/samples/SocialWeather/Protobuf/ProtobufWeatherStreamFormatter.cs b/src/SignalR/samples/SocialWeather/Protobuf/ProtobufWeatherStreamFormatter.cs
similarity index 100%
rename from samples/SocialWeather/Protobuf/ProtobufWeatherStreamFormatter.cs
rename to src/SignalR/samples/SocialWeather/Protobuf/ProtobufWeatherStreamFormatter.cs
diff --git a/samples/SocialWeather/Protobuf/WeatherReport.cs b/src/SignalR/samples/SocialWeather/Protobuf/WeatherReport.cs
similarity index 100%
rename from samples/SocialWeather/Protobuf/WeatherReport.cs
rename to src/SignalR/samples/SocialWeather/Protobuf/WeatherReport.cs
diff --git a/samples/SocialWeather/Protobuf/WeatherReport.proto b/src/SignalR/samples/SocialWeather/Protobuf/WeatherReport.proto
similarity index 100%
rename from samples/SocialWeather/Protobuf/WeatherReport.proto
rename to src/SignalR/samples/SocialWeather/Protobuf/WeatherReport.proto
diff --git a/samples/SocialWeather/SocialWeather.csproj b/src/SignalR/samples/SocialWeather/SocialWeather.csproj
similarity index 100%
rename from samples/SocialWeather/SocialWeather.csproj
rename to src/SignalR/samples/SocialWeather/SocialWeather.csproj
diff --git a/samples/SocialWeather/SocialWeatherConnectionHandler.cs b/src/SignalR/samples/SocialWeather/SocialWeatherConnectionHandler.cs
similarity index 100%
rename from samples/SocialWeather/SocialWeatherConnectionHandler.cs
rename to src/SignalR/samples/SocialWeather/SocialWeatherConnectionHandler.cs
diff --git a/samples/SocialWeather/Startup.cs b/src/SignalR/samples/SocialWeather/Startup.cs
similarity index 100%
rename from samples/SocialWeather/Startup.cs
rename to src/SignalR/samples/SocialWeather/Startup.cs
diff --git a/samples/SocialWeather/WeatherReport.cs b/src/SignalR/samples/SocialWeather/WeatherReport.cs
similarity index 100%
rename from samples/SocialWeather/WeatherReport.cs
rename to src/SignalR/samples/SocialWeather/WeatherReport.cs
diff --git a/samples/SocialWeather/web.config b/src/SignalR/samples/SocialWeather/web.config
similarity index 100%
rename from samples/SocialWeather/web.config
rename to src/SignalR/samples/SocialWeather/web.config
diff --git a/samples/SocialWeather/wwwroot/index.html b/src/SignalR/samples/SocialWeather/wwwroot/index.html
similarity index 100%
rename from samples/SocialWeather/wwwroot/index.html
rename to src/SignalR/samples/SocialWeather/wwwroot/index.html
diff --git a/samples/WebSocketSample/Program.cs b/src/SignalR/samples/WebSocketSample/Program.cs
similarity index 100%
rename from samples/WebSocketSample/Program.cs
rename to src/SignalR/samples/WebSocketSample/Program.cs
diff --git a/samples/WebSocketSample/WebSocketSample.csproj b/src/SignalR/samples/WebSocketSample/WebSocketSample.csproj
similarity index 100%
rename from samples/WebSocketSample/WebSocketSample.csproj
rename to src/SignalR/samples/WebSocketSample/WebSocketSample.csproj
diff --git a/specs/HubProtocol.md b/src/SignalR/specs/HubProtocol.md
similarity index 100%
rename from specs/HubProtocol.md
rename to src/SignalR/specs/HubProtocol.md
diff --git a/specs/TransportProtocols.md b/src/SignalR/specs/TransportProtocols.md
similarity index 100%
rename from specs/TransportProtocols.md
rename to src/SignalR/specs/TransportProtocols.md
diff --git a/src/Common/AwaitableThreadPool.cs b/src/SignalR/src/Common/AwaitableThreadPool.cs
similarity index 100%
rename from src/Common/AwaitableThreadPool.cs
rename to src/SignalR/src/Common/AwaitableThreadPool.cs
diff --git a/src/Common/BinaryMessageFormatter.cs b/src/SignalR/src/Common/BinaryMessageFormatter.cs
similarity index 100%
rename from src/Common/BinaryMessageFormatter.cs
rename to src/SignalR/src/Common/BinaryMessageFormatter.cs
diff --git a/src/Common/BinaryMessageParser.cs b/src/SignalR/src/Common/BinaryMessageParser.cs
similarity index 100%
rename from src/Common/BinaryMessageParser.cs
rename to src/SignalR/src/Common/BinaryMessageParser.cs
diff --git a/src/Common/DuplexPipe.cs b/src/SignalR/src/Common/DuplexPipe.cs
similarity index 100%
rename from src/Common/DuplexPipe.cs
rename to src/SignalR/src/Common/DuplexPipe.cs
diff --git a/src/Common/ForceAsyncAwaiter.cs b/src/SignalR/src/Common/ForceAsyncAwaiter.cs
similarity index 100%
rename from src/Common/ForceAsyncAwaiter.cs
rename to src/SignalR/src/Common/ForceAsyncAwaiter.cs
diff --git a/src/Common/JsonUtils.cs b/src/SignalR/src/Common/JsonUtils.cs
similarity index 100%
rename from src/Common/JsonUtils.cs
rename to src/SignalR/src/Common/JsonUtils.cs
diff --git a/src/Common/MemoryBufferWriter.cs b/src/SignalR/src/Common/MemoryBufferWriter.cs
similarity index 100%
rename from src/Common/MemoryBufferWriter.cs
rename to src/SignalR/src/Common/MemoryBufferWriter.cs
diff --git a/src/Common/PipeWriterStream.cs b/src/SignalR/src/Common/PipeWriterStream.cs
similarity index 100%
rename from src/Common/PipeWriterStream.cs
rename to src/SignalR/src/Common/PipeWriterStream.cs
diff --git a/src/Common/ReflectionHelper.cs b/src/SignalR/src/Common/ReflectionHelper.cs
similarity index 100%
rename from src/Common/ReflectionHelper.cs
rename to src/SignalR/src/Common/ReflectionHelper.cs
diff --git a/src/Common/StreamExtensions.cs b/src/SignalR/src/Common/StreamExtensions.cs
similarity index 100%
rename from src/Common/StreamExtensions.cs
rename to src/SignalR/src/Common/StreamExtensions.cs
diff --git a/src/Common/TextMessageFormatter.cs b/src/SignalR/src/Common/TextMessageFormatter.cs
similarity index 100%
rename from src/Common/TextMessageFormatter.cs
rename to src/SignalR/src/Common/TextMessageFormatter.cs
diff --git a/src/Common/TextMessageParser.cs b/src/SignalR/src/Common/TextMessageParser.cs
similarity index 100%
rename from src/Common/TextMessageParser.cs
rename to src/SignalR/src/Common/TextMessageParser.cs
diff --git a/src/Common/TimerAwaitable.cs b/src/SignalR/src/Common/TimerAwaitable.cs
similarity index 100%
rename from src/Common/TimerAwaitable.cs
rename to src/SignalR/src/Common/TimerAwaitable.cs
diff --git a/src/Common/Utf8BufferTextReader.cs b/src/SignalR/src/Common/Utf8BufferTextReader.cs
similarity index 100%
rename from src/Common/Utf8BufferTextReader.cs
rename to src/SignalR/src/Common/Utf8BufferTextReader.cs
diff --git a/src/Common/Utf8BufferTextWriter.cs b/src/SignalR/src/Common/Utf8BufferTextWriter.cs
similarity index 100%
rename from src/Common/Utf8BufferTextWriter.cs
rename to src/SignalR/src/Common/Utf8BufferTextWriter.cs
diff --git a/src/Common/WebSocketExtensions.cs b/src/SignalR/src/Common/WebSocketExtensions.cs
similarity index 100%
rename from src/Common/WebSocketExtensions.cs
rename to src/SignalR/src/Common/WebSocketExtensions.cs
diff --git a/src/Directory.Build.props b/src/SignalR/src/Directory.Build.props
similarity index 100%
rename from src/Directory.Build.props
rename to src/SignalR/src/Directory.Build.props
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.Log.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.Log.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.Log.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.Log.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnectionOptions.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnectionOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnectionOptions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnectionOptions.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/AccessTokenHttpMessageHandler.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/AccessTokenHttpMessageHandler.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/AccessTokenHttpMessageHandler.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/AccessTokenHttpMessageHandler.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ClientPipeOptions.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ClientPipeOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ClientPipeOptions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ClientPipeOptions.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ConnectionLogScope.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ConnectionLogScope.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ConnectionLogScope.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ConnectionLogScope.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/Constants.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/Constants.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/Constants.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/Constants.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/DefaultTransportFactory.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/DefaultTransportFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/DefaultTransportFactory.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/DefaultTransportFactory.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ITransport.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ITransport.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ITransport.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ITransport.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ITransportFactory.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ITransportFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ITransportFactory.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ITransportFactory.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LoggingHttpMessageHandler.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LoggingHttpMessageHandler.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LoggingHttpMessageHandler.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LoggingHttpMessageHandler.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LongPollingTransport.Log.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LongPollingTransport.Log.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LongPollingTransport.Log.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LongPollingTransport.Log.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LongPollingTransport.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LongPollingTransport.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LongPollingTransport.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LongPollingTransport.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/PipeReaderFactory.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/PipeReaderFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/PipeReaderFactory.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/PipeReaderFactory.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/SendUtils.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/SendUtils.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/SendUtils.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/SendUtils.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsMessageParser.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsMessageParser.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsMessageParser.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsMessageParser.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsTransport.Log.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsTransport.Log.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsTransport.Log.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsTransport.Log.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsTransport.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsTransport.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsTransport.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsTransport.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/TaskExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/TaskExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/TaskExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/TaskExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/Utils.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/Utils.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/Utils.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/Utils.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.Log.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.Log.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.Log.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.Log.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Microsoft.AspNetCore.Http.Connections.Client.csproj b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Microsoft.AspNetCore.Http.Connections.Client.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Microsoft.AspNetCore.Http.Connections.Client.csproj
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Microsoft.AspNetCore.Http.Connections.Client.csproj
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Properties/AssemblyInfo.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/Properties/AssemblyInfo.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Properties/AssemblyInfo.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/baseline.netcore.json b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Client/baseline.netcore.json
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Common/AvailableTransport.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/AvailableTransport.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Common/AvailableTransport.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/AvailableTransport.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Common/HttpTransportType.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/HttpTransportType.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Common/HttpTransportType.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/HttpTransportType.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Common/HttpTransports.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/HttpTransports.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Common/HttpTransports.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/HttpTransports.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Common/Microsoft.AspNetCore.Http.Connections.Common.csproj b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/Microsoft.AspNetCore.Http.Connections.Common.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Common/Microsoft.AspNetCore.Http.Connections.Common.csproj
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/Microsoft.AspNetCore.Http.Connections.Common.csproj
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Common/NegotiateProtocol.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/NegotiateProtocol.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Common/NegotiateProtocol.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/NegotiateProtocol.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Common/NegotiationResponse.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/NegotiationResponse.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Common/NegotiationResponse.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/NegotiationResponse.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections.Common/baseline.netcore.json b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections.Common/baseline.netcore.json
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.Http.Connections/ConnectionsAppBuilderExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/ConnectionsAppBuilderExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/ConnectionsAppBuilderExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/ConnectionsAppBuilderExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/ConnectionsDependencyInjectionExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/ConnectionsDependencyInjectionExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/ConnectionsDependencyInjectionExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/ConnectionsDependencyInjectionExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/ConnectionsRouteBuilder.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/ConnectionsRouteBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/ConnectionsRouteBuilder.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/ConnectionsRouteBuilder.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Features/IHttpContextFeature.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Features/IHttpContextFeature.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Features/IHttpContextFeature.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Features/IHttpContextFeature.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Features/IHttpTransportFeature.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Features/IHttpTransportFeature.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Features/IHttpTransportFeature.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Features/IHttpTransportFeature.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/HttpConnectionContextExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/HttpConnectionContextExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/HttpConnectionContextExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/HttpConnectionContextExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/HttpConnectionDispatcherOptions.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/HttpConnectionDispatcherOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/HttpConnectionDispatcherOptions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/HttpConnectionDispatcherOptions.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/AuthorizeHelper.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/AuthorizeHelper.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/AuthorizeHelper.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/AuthorizeHelper.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/ConnectionLogScope.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/ConnectionLogScope.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/ConnectionLogScope.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/ConnectionLogScope.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionContext.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionContext.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionContext.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionContext.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.Log.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.Log.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.Log.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.Log.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionManager.Log.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionManager.Log.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionManager.Log.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionManager.Log.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionManager.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionManager.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionManager.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionManager.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionStatus.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionStatus.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionStatus.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionStatus.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionsEventSource.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionsEventSource.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionsEventSource.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionsEventSource.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/IHttpTransport.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/IHttpTransport.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/IHttpTransport.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/IHttpTransport.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/LongPollingTransport.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/LongPollingTransport.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/LongPollingTransport.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/LongPollingTransport.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/ServerSentEventsMessageFormatter.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/ServerSentEventsMessageFormatter.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/ServerSentEventsMessageFormatter.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/ServerSentEventsMessageFormatter.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/ServerSentEventsTransport.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/ServerSentEventsTransport.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/ServerSentEventsTransport.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/ServerSentEventsTransport.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/WebSocketsTransport.Log.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/WebSocketsTransport.Log.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/WebSocketsTransport.Log.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/WebSocketsTransport.Log.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/WebSocketsTransport.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/WebSocketsTransport.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/WebSocketsTransport.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/WebSocketsTransport.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/LongPollingOptions.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/LongPollingOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/LongPollingOptions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/LongPollingOptions.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Microsoft.AspNetCore.Http.Connections.csproj b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Microsoft.AspNetCore.Http.Connections.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Microsoft.AspNetCore.Http.Connections.csproj
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Microsoft.AspNetCore.Http.Connections.csproj
diff --git a/src/Microsoft.AspNetCore.Http.Connections/Properties/AssemblyInfo.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/Properties/AssemblyInfo.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Properties/AssemblyInfo.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/WebSocketOptions.cs b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/WebSocketOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/WebSocketOptions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/WebSocketOptions.cs
diff --git a/src/Microsoft.AspNetCore.Http.Connections/baseline.netcore.json b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.Http.Connections/baseline.netcore.json
rename to src/SignalR/src/Microsoft.AspNetCore.Http.Connections/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnection.Log.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnection.Log.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnection.Log.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnection.Log.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnection.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnection.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnection.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilder.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilder.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilder.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilderExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilderExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilderExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilderExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.InvokeAsync.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.InvokeAsync.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.InvokeAsync.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.InvokeAsync.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.InvokeAsyncGeneric.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.InvokeAsyncGeneric.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.InvokeAsyncGeneric.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.InvokeAsyncGeneric.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.SendAsync.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.SendAsync.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.SendAsync.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.SendAsync.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.StreamAsChannelAsync.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.StreamAsChannelAsync.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.StreamAsChannelAsync.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.StreamAsChannelAsync.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionState.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionState.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionState.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionState.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/IConnectionFactory.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/IConnectionFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/IConnectionFactory.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/IConnectionFactory.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/IHubConnectionBuilder.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/IHubConnectionBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/IHubConnectionBuilder.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/IHubConnectionBuilder.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/Internal/ConnectionLogScope.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Internal/ConnectionLogScope.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/Internal/ConnectionLogScope.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Internal/ConnectionLogScope.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/Internal/InvocationRequest.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Internal/InvocationRequest.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/Internal/InvocationRequest.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Internal/InvocationRequest.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/Microsoft.AspNetCore.SignalR.Client.Core.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Microsoft.AspNetCore.SignalR.Client.Core.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/Microsoft.AspNetCore.SignalR.Client.Core.csproj
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Microsoft.AspNetCore.SignalR.Client.Core.csproj
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/Properties/AssemblyInfo.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/Properties/AssemblyInfo.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Properties/AssemblyInfo.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/baseline.netcore.json b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client.Core/baseline.netcore.json
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.SignalR.Client/HttpConnectionFactory.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/HttpConnectionFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client/HttpConnectionFactory.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/HttpConnectionFactory.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client/HubConnectionBuilderHttpExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/HubConnectionBuilderHttpExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client/HubConnectionBuilderHttpExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/HubConnectionBuilderHttpExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Client/Microsoft.AspNetCore.SignalR.Client.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/Microsoft.AspNetCore.SignalR.Client.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client/Microsoft.AspNetCore.SignalR.Client.csproj
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/Microsoft.AspNetCore.SignalR.Client.csproj
diff --git a/src/Microsoft.AspNetCore.SignalR.Client/baseline.netcore.json b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Client/baseline.netcore.json
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/HubException.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/HubException.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/HubException.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/HubException.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/IInvocationBinder.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/IInvocationBinder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/IInvocationBinder.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/IInvocationBinder.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/ISignalRBuilder.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/ISignalRBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/ISignalRBuilder.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/ISignalRBuilder.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Microsoft.AspNetCore.SignalR.Common.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Microsoft.AspNetCore.SignalR.Common.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Microsoft.AspNetCore.SignalR.Common.csproj
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Microsoft.AspNetCore.SignalR.Common.csproj
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Properties/AssemblyInfo.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Properties/AssemblyInfo.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Properties/AssemblyInfo.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CancelInvocationMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CancelInvocationMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/CancelInvocationMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CancelInvocationMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CloseMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CloseMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/CloseMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CloseMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CompletionMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CompletionMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/CompletionMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CompletionMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeProtocol.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeProtocol.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeProtocol.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeProtocol.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeRequestMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeRequestMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeRequestMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeRequestMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeResponseMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeResponseMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeResponseMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeResponseMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubInvocationMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubInvocationMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubInvocationMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubInvocationMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubMethodInvocationMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubMethodInvocationMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubMethodInvocationMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubMethodInvocationMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubProtocolConstants.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubProtocolConstants.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubProtocolConstants.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubProtocolConstants.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubProtocolExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubProtocolExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubProtocolExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubProtocolExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/IHubProtocol.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/IHubProtocol.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/IHubProtocol.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/IHubProtocol.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/InvocationBindingFailureMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/InvocationBindingFailureMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/InvocationBindingFailureMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/InvocationBindingFailureMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/PingMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/PingMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/PingMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/PingMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamBindingFailureMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamBindingFailureMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamBindingFailureMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamBindingFailureMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamCompleteMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamCompleteMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamCompleteMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamCompleteMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamDataMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamDataMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamDataMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamDataMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamItemMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamItemMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamItemMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamItemMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamPlaceholder.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamPlaceholder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamPlaceholder.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamPlaceholder.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/baseline.netcore.json b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/baseline.netcore.json
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/breakingchanges.netcore.json b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/breakingchanges.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Common/breakingchanges.netcore.json
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/breakingchanges.netcore.json
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/ClientProxyExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/ClientProxyExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/ClientProxyExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/ClientProxyExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/DefaultHubLifetimeManager.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DefaultHubLifetimeManager.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/DefaultHubLifetimeManager.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DefaultHubLifetimeManager.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/DefaultUserIdProvider.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DefaultUserIdProvider.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/DefaultUserIdProvider.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DefaultUserIdProvider.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/DynamicHub.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DynamicHub.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/DynamicHub.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DynamicHub.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/DynamicHubClients.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DynamicHubClients.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/DynamicHubClients.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DynamicHubClients.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Hub.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Hub.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Hub.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Hub.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/HubCallerContext.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubCallerContext.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/HubCallerContext.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubCallerContext.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/HubClientsExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubClientsExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/HubClientsExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubClientsExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionHandler.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionHandler.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/HubConnectionHandler.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionHandler.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionStore.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionStore.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/HubConnectionStore.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionStore.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/HubLifetimeManager.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubLifetimeManager.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/HubLifetimeManager.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubLifetimeManager.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/HubMethodNameAttribute.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubMethodNameAttribute.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/HubMethodNameAttribute.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubMethodNameAttribute.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/HubOptions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/HubOptions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubOptions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/HubOptions`T.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubOptions`T.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/HubOptions`T.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubOptions`T.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Hub`T.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Hub`T.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Hub`T.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Hub`T.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/IClientProxy.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IClientProxy.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/IClientProxy.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IClientProxy.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/IGroupManager.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IGroupManager.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/IGroupManager.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IGroupManager.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/IHubActivator.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubActivator.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/IHubActivator.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubActivator.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/IHubCallerClients.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubCallerClients.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/IHubCallerClients.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubCallerClients.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/IHubCallerClients`T.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubCallerClients`T.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/IHubCallerClients`T.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubCallerClients`T.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/IHubClients.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubClients.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/IHubClients.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubClients.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/IHubClients`T.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubClients`T.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/IHubClients`T.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubClients`T.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/IHubContext.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubContext.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/IHubContext.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubContext.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/IHubContext`T.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubContext`T.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/IHubContext`T.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubContext`T.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/IHubProtocolResolver.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubProtocolResolver.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/IHubProtocolResolver.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubProtocolResolver.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/ISignalRServerBuilder.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/ISignalRServerBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/ISignalRServerBuilder.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/ISignalRServerBuilder.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/IUserIdProvider.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IUserIdProvider.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/IUserIdProvider.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IUserIdProvider.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/AsyncEnumeratorAdapters.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/AsyncEnumeratorAdapters.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/AsyncEnumeratorAdapters.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/AsyncEnumeratorAdapters.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubActivator.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubActivator.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubActivator.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubActivator.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubCallerContext.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubCallerContext.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubCallerContext.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubCallerContext.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubDispatcher.Log.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubDispatcher.Log.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubDispatcher.Log.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubDispatcher.Log.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubDispatcher.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubDispatcher.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubDispatcher.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubDispatcher.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubProtocolResolver.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubProtocolResolver.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubProtocolResolver.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubProtocolResolver.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/DynamicClientProxy.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DynamicClientProxy.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/DynamicClientProxy.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DynamicClientProxy.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/ErrorMessageHelper.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/ErrorMessageHelper.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/ErrorMessageHelper.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/ErrorMessageHelper.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/GroupManager.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/GroupManager.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/GroupManager.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/GroupManager.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubCallerClients.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubCallerClients.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/HubCallerClients.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubCallerClients.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubClients.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubClients.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/HubClients.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubClients.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubClients`T.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubClients`T.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/HubClients`T.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubClients`T.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubConnectionBinder.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubConnectionBinder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/HubConnectionBinder.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubConnectionBinder.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubContext.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubContext.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/HubContext.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubContext.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubContext`T.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubContext`T.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/HubContext`T.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubContext`T.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubDispatcher.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubDispatcher.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/HubDispatcher.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubDispatcher.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubGroupList.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubGroupList.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/HubGroupList.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubGroupList.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubMethodDescriptor.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubMethodDescriptor.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/HubMethodDescriptor.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubMethodDescriptor.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubOptionsSetup.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubOptionsSetup.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/HubOptionsSetup.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubOptionsSetup.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubOptionsSetup`T.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubOptionsSetup`T.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/HubOptionsSetup`T.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubOptionsSetup`T.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubReflectionHelper.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubReflectionHelper.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/HubReflectionHelper.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubReflectionHelper.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/Proxies.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/Proxies.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/Proxies.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/Proxies.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/SignalRBuilder.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/SignalRBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/SignalRBuilder.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/SignalRBuilder.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/SignalRCoreMarkerService.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/SignalRCoreMarkerService.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/SignalRCoreMarkerService.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/SignalRCoreMarkerService.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/TaskCache.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TaskCache.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/TaskCache.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TaskCache.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypeBaseEnumerationExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypeBaseEnumerationExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/TypeBaseEnumerationExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypeBaseEnumerationExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypedClientBuilder.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypedClientBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/TypedClientBuilder.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypedClientBuilder.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypedHubClients.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypedHubClients.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Internal/TypedHubClients.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypedHubClients.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Microsoft.AspNetCore.SignalR.Core.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Microsoft.AspNetCore.SignalR.Core.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Microsoft.AspNetCore.SignalR.Core.csproj
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Microsoft.AspNetCore.SignalR.Core.csproj
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/Properties/AssemblyInfo.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/Properties/AssemblyInfo.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Properties/AssemblyInfo.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/SerializedHubMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SerializedHubMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/SerializedHubMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SerializedHubMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/SerializedMessage.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SerializedMessage.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/SerializedMessage.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SerializedMessage.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/SignalRConnectionBuilderExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SignalRConnectionBuilderExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/SignalRConnectionBuilderExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SignalRConnectionBuilderExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/SignalRDependencyInjectionExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SignalRDependencyInjectionExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/SignalRDependencyInjectionExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SignalRDependencyInjectionExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/StreamTracker.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/StreamTracker.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/StreamTracker.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/StreamTracker.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Core/baseline.netcore.json b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Core/baseline.netcore.json
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.SignalR.Protocols.Json/JsonHubProtocolOptions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/JsonHubProtocolOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Protocols.Json/JsonHubProtocolOptions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/JsonHubProtocolOptions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Protocols.Json/JsonProtocolDependencyInjectionExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/JsonProtocolDependencyInjectionExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Protocols.Json/JsonProtocolDependencyInjectionExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/JsonProtocolDependencyInjectionExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Protocols.Json/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Protocols.Json/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj
diff --git a/src/Microsoft.AspNetCore.SignalR.Protocols.Json/Protocol/JsonHubProtocol.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/Protocol/JsonHubProtocol.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Protocols.Json/Protocol/JsonHubProtocol.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/Protocol/JsonHubProtocol.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Protocols.Json/baseline.netcore.json b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Protocols.Json/baseline.netcore.json
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/MessagePackHubProtocolOptions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/MessagePackHubProtocolOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/MessagePackHubProtocolOptions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/MessagePackHubProtocolOptions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/MessagePackProtocolDependencyInjectionExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/MessagePackProtocolDependencyInjectionExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/MessagePackProtocolDependencyInjectionExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/MessagePackProtocolDependencyInjectionExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj
diff --git a/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/Protocol/MessagePackHubProtocol.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/Protocol/MessagePackHubProtocol.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/Protocol/MessagePackHubProtocol.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/Protocol/MessagePackHubProtocol.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/baseline.netcore.json b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/baseline.netcore.json
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.SignalR.Specification.Tests/HubLifetimeManagerTestBase.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Specification.Tests/HubLifetimeManagerTestBase.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Specification.Tests/HubLifetimeManagerTestBase.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Specification.Tests/HubLifetimeManagerTestBase.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.Specification.Tests/Microsoft.AspNetCore.SignalR.Specification.Tests.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Specification.Tests/Microsoft.AspNetCore.SignalR.Specification.Tests.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Specification.Tests/Microsoft.AspNetCore.SignalR.Specification.Tests.csproj
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Specification.Tests/Microsoft.AspNetCore.SignalR.Specification.Tests.csproj
diff --git a/src/Microsoft.AspNetCore.SignalR.Specification.Tests/ScaleoutHubLifetimeManagerTests.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Specification.Tests/ScaleoutHubLifetimeManagerTests.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.Specification.Tests/ScaleoutHubLifetimeManagerTests.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.Specification.Tests/ScaleoutHubLifetimeManagerTests.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/AckHandler.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/AckHandler.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/AckHandler.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/AckHandler.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/GroupAction.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/GroupAction.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/GroupAction.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/GroupAction.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/MessagePackUtil.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/MessagePackUtil.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/MessagePackUtil.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/MessagePackUtil.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisChannels.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisChannels.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisChannels.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisChannels.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisGroupCommand.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisGroupCommand.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisGroupCommand.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisGroupCommand.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisInvocation.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisInvocation.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisInvocation.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisInvocation.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisLog.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisLog.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisLog.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisLog.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisProtocol.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisProtocol.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisProtocol.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisProtocol.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisSubscriptionManager.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisSubscriptionManager.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisSubscriptionManager.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisSubscriptionManager.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj
diff --git a/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisDependencyInjectionExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisDependencyInjectionExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisDependencyInjectionExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisDependencyInjectionExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisHubLifetimeManager.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisHubLifetimeManager.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisHubLifetimeManager.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisHubLifetimeManager.cs
diff --git a/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisOptions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisOptions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisOptions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR/GetHttpContextExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR/GetHttpContextExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR/GetHttpContextExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR/GetHttpContextExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR/HubRouteBuilder.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR/HubRouteBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR/HubRouteBuilder.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR/HubRouteBuilder.cs
diff --git a/src/Microsoft.AspNetCore.SignalR/Microsoft.AspNetCore.SignalR.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR/Microsoft.AspNetCore.SignalR.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR/Microsoft.AspNetCore.SignalR.csproj
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR/Microsoft.AspNetCore.SignalR.csproj
diff --git a/src/Microsoft.AspNetCore.SignalR/SignalRAppBuilderExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR/SignalRAppBuilderExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR/SignalRAppBuilderExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR/SignalRAppBuilderExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR/SignalRDependencyInjectionExtensions.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR/SignalRDependencyInjectionExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR/SignalRDependencyInjectionExtensions.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR/SignalRDependencyInjectionExtensions.cs
diff --git a/src/Microsoft.AspNetCore.SignalR/SignalRMarkerService.cs b/src/SignalR/src/Microsoft.AspNetCore.SignalR/SignalRMarkerService.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR/SignalRMarkerService.cs
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR/SignalRMarkerService.cs
diff --git a/src/Microsoft.AspNetCore.SignalR/baseline.netcore.json b/src/SignalR/src/Microsoft.AspNetCore.SignalR/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.SignalR/baseline.netcore.json
rename to src/SignalR/src/Microsoft.AspNetCore.SignalR/baseline.netcore.json
diff --git a/test/Directory.Build.props b/src/SignalR/test/Directory.Build.props
similarity index 100%
rename from test/Directory.Build.props
rename to src/SignalR/test/Directory.Build.props
diff --git a/test/Microsoft.AspNetCore.Http.Connections.Tests/ApplicationLifetime.cs b/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/ApplicationLifetime.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Http.Connections.Tests/ApplicationLifetime.cs
rename to src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/ApplicationLifetime.cs
diff --git a/test/Microsoft.AspNetCore.Http.Connections.Tests/HttpConnectionDispatcherTests.cs b/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/HttpConnectionDispatcherTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Http.Connections.Tests/HttpConnectionDispatcherTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/HttpConnectionDispatcherTests.cs
diff --git a/test/Microsoft.AspNetCore.Http.Connections.Tests/HttpConnectionManagerTests.cs b/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/HttpConnectionManagerTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Http.Connections.Tests/HttpConnectionManagerTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/HttpConnectionManagerTests.cs
diff --git a/test/Microsoft.AspNetCore.Http.Connections.Tests/LongPollingTests.cs b/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/LongPollingTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Http.Connections.Tests/LongPollingTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/LongPollingTests.cs
diff --git a/test/Microsoft.AspNetCore.Http.Connections.Tests/MapConnectionHandlerTests.cs b/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/MapConnectionHandlerTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Http.Connections.Tests/MapConnectionHandlerTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/MapConnectionHandlerTests.cs
diff --git a/test/Microsoft.AspNetCore.Http.Connections.Tests/Microsoft.AspNetCore.Http.Connections.Tests.csproj b/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/Microsoft.AspNetCore.Http.Connections.Tests.csproj
similarity index 100%
rename from test/Microsoft.AspNetCore.Http.Connections.Tests/Microsoft.AspNetCore.Http.Connections.Tests.csproj
rename to src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/Microsoft.AspNetCore.Http.Connections.Tests.csproj
diff --git a/test/Microsoft.AspNetCore.Http.Connections.Tests/NegotiateProtocolTests.cs b/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/NegotiateProtocolTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Http.Connections.Tests/NegotiateProtocolTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/NegotiateProtocolTests.cs
diff --git a/test/Microsoft.AspNetCore.Http.Connections.Tests/ServerSentEventsMessageFormatterTests.cs b/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/ServerSentEventsMessageFormatterTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Http.Connections.Tests/ServerSentEventsMessageFormatterTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/ServerSentEventsMessageFormatterTests.cs
diff --git a/test/Microsoft.AspNetCore.Http.Connections.Tests/ServerSentEventsTests.cs b/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/ServerSentEventsTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Http.Connections.Tests/ServerSentEventsTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/ServerSentEventsTests.cs
diff --git a/test/Microsoft.AspNetCore.Http.Connections.Tests/TestWebSocketConnectionFeature.cs b/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/TestWebSocketConnectionFeature.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Http.Connections.Tests/TestWebSocketConnectionFeature.cs
rename to src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/TestWebSocketConnectionFeature.cs
diff --git a/test/Microsoft.AspNetCore.Http.Connections.Tests/WebSocketsTests.cs b/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/WebSocketsTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Http.Connections.Tests/WebSocketsTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/WebSocketsTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HeaderUserIdProvider.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HeaderUserIdProvider.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HeaderUserIdProvider.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HeaderUserIdProvider.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubConnectionTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubConnectionTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubConnectionTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubConnectionTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubProtocolVersionTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubProtocolVersionTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubProtocolVersionTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubProtocolVersionTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Hubs.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Hubs.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Hubs.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Hubs.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Startup.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Startup.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Startup.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Startup.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/VersionJsonHubProtocol.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/VersionJsonHubProtocol.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/VersionJsonHubProtocol.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/VersionJsonHubProtocol.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/VersionStartup.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/VersionStartup.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/VersionStartup.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/VersionStartup.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionFactoryTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionFactoryTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionFactoryTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionFactoryTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.ConnectionLifecycle.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.ConnectionLifecycle.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.ConnectionLifecycle.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.ConnectionLifecycle.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Helpers.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Helpers.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Helpers.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Helpers.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Negotiate.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Negotiate.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Negotiate.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Negotiate.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Transport.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Transport.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Transport.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Transport.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderExtensionsTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderExtensionsTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderExtensionsTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderExtensionsTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.ConnectionLifecycle.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.ConnectionLifecycle.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.ConnectionLifecycle.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.ConnectionLifecycle.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Extensions.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Extensions.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Extensions.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Extensions.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Helpers.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Helpers.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Helpers.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Helpers.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Protocol.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Protocol.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Protocol.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Protocol.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/LongPollingTransportTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/LongPollingTransportTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/LongPollingTransportTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/LongPollingTransportTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/Microsoft.AspNetCore.SignalR.Client.Tests.csproj b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/Microsoft.AspNetCore.SignalR.Client.Tests.csproj
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/Microsoft.AspNetCore.SignalR.Client.Tests.csproj
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/Microsoft.AspNetCore.SignalR.Client.Tests.csproj
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/ResponseUtils.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/ResponseUtils.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/ResponseUtils.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/ResponseUtils.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsParserTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsParserTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsParserTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsParserTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsTransportTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsTransportTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsTransportTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsTransportTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestConnection.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestConnection.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/TestConnection.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestConnection.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestHttpMessageHandler.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestHttpMessageHandler.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/TestHttpMessageHandler.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestHttpMessageHandler.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestTransport.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestTransport.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/TestTransport.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestTransport.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestTransportFactory.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestTransportFactory.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Client.Tests/TestTransportFactory.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestTransportFactory.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/BinaryMessageFormatterTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/BinaryMessageFormatterTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/BinaryMessageFormatterTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/BinaryMessageFormatterTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/BinaryMessageParserTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/BinaryMessageParserTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/BinaryMessageParserTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/BinaryMessageParserTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/TextMessageFormatterTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/TextMessageFormatterTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/TextMessageFormatterTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/TextMessageFormatterTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/TextMessageParserTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/TextMessageParserTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/TextMessageParserTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/TextMessageParserTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/CompositeTestBinder.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/CompositeTestBinder.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/CompositeTestBinder.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/CompositeTestBinder.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/CustomObject.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/CustomObject.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/CustomObject.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/CustomObject.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/HandshakeProtocolTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/HandshakeProtocolTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/HandshakeProtocolTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/HandshakeProtocolTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/HubMessageHelpers.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/HubMessageHelpers.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/HubMessageHelpers.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/HubMessageHelpers.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/JsonHubProtocolTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/JsonHubProtocolTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/JsonHubProtocolTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/JsonHubProtocolTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/MemoryBufferWriterTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/MemoryBufferWriterTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/MemoryBufferWriterTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/MemoryBufferWriterTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/MessagePackHubProtocolTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/MessagePackHubProtocolTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/MessagePackHubProtocolTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/MessagePackHubProtocolTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/TestBinder.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/TestBinder.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/TestBinder.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/TestBinder.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/TestHubMessageEqualityComparer.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/TestHubMessageEqualityComparer.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/TestHubMessageEqualityComparer.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/TestHubMessageEqualityComparer.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/Utf8BufferTextReaderTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/Utf8BufferTextReaderTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/Utf8BufferTextReaderTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/Utf8BufferTextReaderTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/Utf8BufferTextWriterTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/Utf8BufferTextWriterTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/Utf8BufferTextWriterTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/Utf8BufferTextWriterTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Common.Tests/Microsoft.AspNetCore.SignalR.Common.Tests.csproj b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Microsoft.AspNetCore.SignalR.Common.Tests.csproj
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Common.Tests/Microsoft.AspNetCore.SignalR.Common.Tests.csproj
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Microsoft.AspNetCore.SignalR.Common.Tests.csproj
diff --git a/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Docker.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Docker.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Docker.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Docker.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/EchoHub.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/EchoHub.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/EchoHub.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/EchoHub.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj b/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj
diff --git a/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisDependencyInjectionExtensionsTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisDependencyInjectionExtensionsTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisDependencyInjectionExtensionsTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisDependencyInjectionExtensionsTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisEndToEnd.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisEndToEnd.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisEndToEnd.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisEndToEnd.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisHubLifetimeManagerTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisHubLifetimeManagerTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisHubLifetimeManagerTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisHubLifetimeManagerTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisProtocolTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisProtocolTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisProtocolTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisProtocolTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisServerFixture.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisServerFixture.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisServerFixture.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisServerFixture.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/SkipIfDockerNotPresentAttribute.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/SkipIfDockerNotPresentAttribute.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/SkipIfDockerNotPresentAttribute.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/SkipIfDockerNotPresentAttribute.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Startup.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Startup.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Startup.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Startup.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/TestConnectionMultiplexer.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/TestConnectionMultiplexer.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/TestConnectionMultiplexer.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/TestConnectionMultiplexer.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/CancellationTokenExtensions.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/CancellationTokenExtensions.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/CancellationTokenExtensions.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/CancellationTokenExtensions.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ChannelExtensions.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ChannelExtensions.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/ChannelExtensions.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ChannelExtensions.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/DelegateConnectionFactory.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/DelegateConnectionFactory.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/DelegateConnectionFactory.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/DelegateConnectionFactory.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/DummyHubProtocol.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/DummyHubProtocol.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/DummyHubProtocol.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/DummyHubProtocol.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ExceptionMessageExtensions.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ExceptionMessageExtensions.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/ExceptionMessageExtensions.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ExceptionMessageExtensions.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/FunctionalTestBase.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/FunctionalTestBase.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/FunctionalTestBase.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/FunctionalTestBase.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubConnectionBuilderTestExtensions.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubConnectionBuilderTestExtensions.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubConnectionBuilderTestExtensions.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubConnectionBuilderTestExtensions.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubConnectionContextUtils.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubConnectionContextUtils.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubConnectionContextUtils.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubConnectionContextUtils.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubProtocolHelpers.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubProtocolHelpers.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubProtocolHelpers.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubProtocolHelpers.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/InProcessTestServer.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/InProcessTestServer.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/InProcessTestServer.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/InProcessTestServer.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/LogRecord.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/LogRecord.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/LogRecord.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/LogRecord.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/LogSinkProvider.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/LogSinkProvider.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/LogSinkProvider.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/LogSinkProvider.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/PipeCompletionExtensions.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/PipeCompletionExtensions.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/PipeCompletionExtensions.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/PipeCompletionExtensions.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/PipeReaderExtensions.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/PipeReaderExtensions.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/PipeReaderExtensions.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/PipeReaderExtensions.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ServerLogScope.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ServerLogScope.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/ServerLogScope.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ServerLogScope.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/SyncPoint.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/SyncPoint.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/SyncPoint.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/SyncPoint.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TaskExtensions.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TaskExtensions.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/TaskExtensions.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TaskExtensions.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TestClient.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TestClient.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/TestClient.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TestClient.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TestHelpers.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TestHelpers.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/TestHelpers.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TestHelpers.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/VerifiableLoggedTest.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/VerifiableLoggedTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/VerifiableLoggedTest.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/VerifiableLoggedTest.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/VerifyNoErrorsScope.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/VerifyNoErrorsScope.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/VerifyNoErrorsScope.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/VerifyNoErrorsScope.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/WebSocketsSupportedConditionAttribute.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/WebSocketsSupportedConditionAttribute.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/WebSocketsSupportedConditionAttribute.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/WebSocketsSupportedConditionAttribute.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests.Utils/WrappingLoggerFactory.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/WrappingLoggerFactory.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests.Utils/WrappingLoggerFactory.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/WrappingLoggerFactory.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/AddSignalRTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/AddSignalRTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/AddSignalRTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/AddSignalRTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/AuthConnectionHandler.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/AuthConnectionHandler.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/AuthConnectionHandler.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/AuthConnectionHandler.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/CancellationDisposable.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/CancellationDisposable.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/CancellationDisposable.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/CancellationDisposable.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/ClientProxyTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/ClientProxyTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/ClientProxyTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/ClientProxyTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/DefaultHubActivatorTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/DefaultHubActivatorTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/DefaultHubActivatorTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/DefaultHubActivatorTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/DefaultHubLifetimeManagerTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/DefaultHubLifetimeManagerTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/DefaultHubLifetimeManagerTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/DefaultHubLifetimeManagerTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/DefaultTransportFactoryTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/DefaultTransportFactoryTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/DefaultTransportFactoryTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/DefaultTransportFactoryTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/EchoConnectionHandler.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/EchoConnectionHandler.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/EchoConnectionHandler.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/EchoConnectionHandler.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/EndToEndTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/EndToEndTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/EndToEndTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/EndToEndTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/HttpHeaderConnectionHandler.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HttpHeaderConnectionHandler.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/HttpHeaderConnectionHandler.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HttpHeaderConnectionHandler.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTestUtils/Hubs.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTestUtils/Hubs.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTestUtils/Hubs.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTestUtils/Hubs.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTestUtils/Utils.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTestUtils/Utils.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTestUtils/Utils.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTestUtils/Utils.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/HubReflectionHelperTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubReflectionHelperTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/HubReflectionHelperTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubReflectionHelperTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/Internal/DefaultHubProtocolResolverTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Internal/DefaultHubProtocolResolverTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/Internal/DefaultHubProtocolResolverTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Internal/DefaultHubProtocolResolverTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/Internal/TypedClientBuilderTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Internal/TypedClientBuilderTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/Internal/TypedClientBuilderTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Internal/TypedClientBuilderTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/MapSignalRTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/MapSignalRTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/MapSignalRTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/MapSignalRTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/Microsoft.AspNetCore.SignalR.Tests.csproj b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Microsoft.AspNetCore.SignalR.Tests.csproj
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/Microsoft.AspNetCore.SignalR.Tests.csproj
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Microsoft.AspNetCore.SignalR.Tests.csproj
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/SerializedHubMessageTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/SerializedHubMessageTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/SerializedHubMessageTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/SerializedHubMessageTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/Startup.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Startup.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/Startup.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Startup.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/UncreatableHub.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/UncreatableHub.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/UncreatableHub.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/UncreatableHub.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/WebSocketsTransportTests.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/WebSocketsTransportTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/WebSocketsTransportTests.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/WebSocketsTransportTests.cs
diff --git a/test/Microsoft.AspNetCore.SignalR.Tests/WriteThenCloseConnectionHandler.cs b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/WriteThenCloseConnectionHandler.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.SignalR.Tests/WriteThenCloseConnectionHandler.cs
rename to src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/WriteThenCloseConnectionHandler.cs
diff --git a/test/xunit.runner.json b/src/SignalR/test/xunit.runner.json
similarity index 100%
rename from test/xunit.runner.json
rename to src/SignalR/test/xunit.runner.json
diff --git a/version.props b/src/SignalR/version.props
similarity index 100%
rename from version.props
rename to src/SignalR/version.props