diff options
-rw-r--r-- | lib/Hashing.Portable/LICENSE.txt (renamed from Hashing.Portable/LICENSE.txt) | 0 | ||||
-rw-r--r-- | lib/Hashing.Portable/README.md (renamed from Hashing.Portable/README.md) | 0 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/Argon2/Argon2PasswordEntry.cs (renamed from Hashing.Portable/src/Argon2/Argon2PasswordEntry.cs) | 0 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/Argon2/Argon2_Context.cs (renamed from Hashing.Portable/src/Argon2/Argon2_Context.cs) | 0 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/Argon2/Argon2_ErrorCodes.cs (renamed from Hashing.Portable/src/Argon2/Argon2_ErrorCodes.cs) | 0 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/Argon2/VnArgon2.cs (renamed from Hashing.Portable/src/Argon2/VnArgon2.cs) | 19 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/Argon2/VnArgon2Exception.cs (renamed from Hashing.Portable/src/Argon2/VnArgon2Exception.cs) | 18 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/Argon2/VnArgon2PasswordFormatException.cs (renamed from Hashing.Portable/src/Argon2/VnArgon2PasswordFormatException.cs) | 0 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/IdentityUtility/HashingExtensions.cs (renamed from Hashing.Portable/src/IdentityUtility/HashingExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/IdentityUtility/JsonWebKey.cs (renamed from Hashing.Portable/src/IdentityUtility/JsonWebKey.cs) | 0 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/IdentityUtility/JsonWebToken.cs (renamed from Hashing.Portable/src/IdentityUtility/JsonWebToken.cs) | 0 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/IdentityUtility/JwtClaim.cs (renamed from Hashing.Portable/src/IdentityUtility/JwtClaim.cs) | 0 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/IdentityUtility/JwtExtensions.cs (renamed from Hashing.Portable/src/IdentityUtility/JwtExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/IdentityUtility/ReadOnlyJsonWebKey.cs (renamed from Hashing.Portable/src/IdentityUtility/ReadOnlyJsonWebKey.cs) | 0 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/ManagedHash.cs (renamed from Hashing.Portable/src/ManagedHash.cs) | 1 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/RandomHash.cs (renamed from Hashing.Portable/src/RandomHash.cs) | 0 | ||||
-rw-r--r-- | lib/Hashing.Portable/src/VNLib.Hashing.Portable.csproj (renamed from Hashing.Portable/src/VNLib.Hashing.Portable.csproj) | 0 | ||||
-rw-r--r-- | lib/Net.Http/LICENSE.txt (renamed from Net.Http/LICENSE.txt) | 0 | ||||
-rw-r--r-- | lib/Net.Http/readme.md (renamed from Net.Http/readme.md) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/AlternateProtocolBase.cs (renamed from Net.Http/src/AlternateProtocolBase.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/ConnectionInfo.cs (renamed from Net.Http/src/ConnectionInfo.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/HttpContext.cs (renamed from Net.Http/src/Core/HttpContext.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/HttpCookie.cs (renamed from Net.Http/src/Core/HttpCookie.cs) | 2 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/HttpEvent.cs (renamed from Net.Http/src/Core/HttpEvent.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/HttpServerBase.cs (renamed from Net.Http/src/Core/HttpServerBase.cs) | 2 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/HttpServerProcessing.cs (renamed from Net.Http/src/Core/HttpServerProcessing.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/IConnectionContext.cs (renamed from Net.Http/src/Core/IConnectionContext.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/IHttpEvent.cs (renamed from Net.Http/src/Core/IHttpEvent.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/IHttpLifeCycle.cs (renamed from Net.Http/src/Core/IHttpLifeCycle.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/IHttpResponseBody.cs (renamed from Net.Http/src/Core/IHttpResponseBody.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/Request/HttpInputStream.cs (renamed from Net.Http/src/Core/Request/HttpInputStream.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/Request/HttpRequest.cs (renamed from Net.Http/src/Core/Request/HttpRequest.cs) | 6 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/Request/HttpRequestBody.cs (renamed from Net.Http/src/Core/Request/HttpRequestBody.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/Request/HttpRequestExtensions.cs (renamed from Net.Http/src/Core/Request/HttpRequestExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/RequestParse/Http11ParseExtensions.cs (renamed from Net.Http/src/Core/RequestParse/Http11ParseExtensions.cs) | 4 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/Response/ChunkDataAccumulator.cs (renamed from Net.Http/src/Core/Response/ChunkDataAccumulator.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/Response/ChunkedStream.cs (renamed from Net.Http/src/Core/Response/ChunkedStream.cs) | 9 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/Response/DirectStream.cs (renamed from Net.Http/src/Core/Response/DirectStream.cs) | 4 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/Response/HeaderDataAccumulator.cs (renamed from Net.Http/src/Core/Response/HeaderDataAccumulator.cs) | 2 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/Response/HttpContextExtensions.cs (renamed from Net.Http/src/Core/Response/HttpContextExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/Response/HttpContextResponseWriting.cs (renamed from Net.Http/src/Core/Response/HttpContextResponseWriting.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/Response/HttpResponse.cs (renamed from Net.Http/src/Core/Response/HttpResponse.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/Response/ResponseWriter.cs (renamed from Net.Http/src/Core/Response/ResponseWriter.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/SharedHeaderReaderBuffer.cs (renamed from Net.Http/src/Core/SharedHeaderReaderBuffer.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Core/VnHeaderCollection.cs (renamed from Net.Http/src/Core/VnHeaderCollection.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Exceptions/ContentTypeException.cs (renamed from Net.Http/src/Exceptions/ContentTypeException.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Exceptions/TerminateConnectionException.cs (renamed from Net.Http/src/Exceptions/TerminateConnectionException.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/FileUpload.cs (renamed from Net.Http/src/FileUpload.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Helpers/AlternateProtocolTransportStreamWrapper.cs (renamed from Net.Http/src/Helpers/AlternateProtocolTransportStreamWrapper.cs) | 7 | ||||
-rw-r--r-- | lib/Net.Http/src/Helpers/ContentType.cs (renamed from Net.Http/src/Helpers/ContentType.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Helpers/CoreBufferHelpers.cs (renamed from Net.Http/src/Helpers/CoreBufferHelpers.cs) | 2 | ||||
-rw-r--r-- | lib/Net.Http/src/Helpers/HelperTypes.cs (renamed from Net.Http/src/Helpers/HelperTypes.cs) | 50 | ||||
-rw-r--r-- | lib/Net.Http/src/Helpers/HttpHelpers.cs (renamed from Net.Http/src/Helpers/HttpHelpers.cs) | 10 | ||||
-rw-r--r-- | lib/Net.Http/src/Helpers/MimeLookups.cs (renamed from Net.Http/src/Helpers/MimeLookups.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Helpers/TransportReader.cs (renamed from Net.Http/src/Helpers/TransportReader.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Helpers/VnWebHeaderCollection.cs (renamed from Net.Http/src/Helpers/VnWebHeaderCollection.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/Helpers/WebHeaderExtensions.cs (renamed from Net.Http/src/Helpers/WebHeaderExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/HttpConfig.cs (renamed from Net.Http/src/HttpConfig.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/IAlternateProtocol.cs (renamed from Net.Http/src/IAlternateProtocol.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/IConnectionInfo.cs (renamed from Net.Http/src/IConnectionInfo.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/IHeaderCollection.cs (renamed from Net.Http/src/IHeaderCollection.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/IMemoryResponseEntity.cs (renamed from Net.Http/src/IMemoryResponseEntity.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/ITransportContext.cs (renamed from Net.Http/src/ITransportContext.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/ITransportProvider.cs (renamed from Net.Http/src/ITransportProvider.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/IWebRoot.cs (renamed from Net.Http/src/IWebRoot.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/TransportSecurityInfo.cs (renamed from Net.Http/src/TransportSecurityInfo.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Http/src/VNLib.Net.Http.csproj (renamed from Net.Http/src/VNLib.Net.Http.csproj) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/LICENSE.txt (renamed from Net.Messaging.FBM/LICENSE.txt) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/README.md (renamed from Net.Messaging.FBM/README.md) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Client/ClientExtensions.cs (renamed from Net.Messaging.FBM/src/Client/ClientExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Client/FBMClient.cs (renamed from Net.Messaging.FBM/src/Client/FBMClient.cs) | 12 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Client/FBMClientConfig.cs (renamed from Net.Messaging.FBM/src/Client/FBMClientConfig.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Client/FBMClientWorkerBase.cs (renamed from Net.Messaging.FBM/src/Client/FBMClientWorkerBase.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Client/FBMRequest.cs (renamed from Net.Messaging.FBM/src/Client/FBMRequest.cs) | 2 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Client/FBMResponse.cs (renamed from Net.Messaging.FBM/src/Client/FBMResponse.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Client/FMBClientErrorEventArgs.cs (renamed from Net.Messaging.FBM/src/Client/FMBClientErrorEventArgs.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Client/HeaderCommand.cs (renamed from Net.Messaging.FBM/src/Client/HeaderCommand.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Client/HeaderParseStatus.cs (renamed from Net.Messaging.FBM/src/Client/HeaderParseStatus.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Client/Helpers.cs (renamed from Net.Messaging.FBM/src/Client/Helpers.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Client/IFBMMessage.cs (renamed from Net.Messaging.FBM/src/Client/IFBMMessage.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Client/IStatefulConnection.cs (renamed from Net.Messaging.FBM/src/Client/IStatefulConnection.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Client/ManagedClientWebSocket.cs (renamed from Net.Messaging.FBM/src/Client/ManagedClientWebSocket.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Client/README.md (renamed from Net.Messaging.FBM/src/Client/README.md) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Exceptions/FBMException.cs (renamed from Net.Messaging.FBM/src/Exceptions/FBMException.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Exceptions/FBMInvalidRequestException.cs (renamed from Net.Messaging.FBM/src/Exceptions/FBMInvalidRequestException.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Exceptions/InvalidResponseException.cs (renamed from Net.Messaging.FBM/src/Exceptions/InvalidResponseException.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Server/FBMContext.cs (renamed from Net.Messaging.FBM/src/Server/FBMContext.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Server/FBMListener.cs (renamed from Net.Messaging.FBM/src/Server/FBMListener.cs) | 5 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Server/FBMListenerBase.cs (renamed from Net.Messaging.FBM/src/Server/FBMListenerBase.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Server/FBMListenerSessionParams.cs (renamed from Net.Messaging.FBM/src/Server/FBMListenerSessionParams.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Server/FBMRequestMessage.cs (renamed from Net.Messaging.FBM/src/Server/FBMRequestMessage.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Server/FBMResponseMessage.cs (renamed from Net.Messaging.FBM/src/Server/FBMResponseMessage.cs) | 2 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Server/HeaderDataAccumulator.cs (renamed from Net.Messaging.FBM/src/Server/HeaderDataAccumulator.cs) | 2 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Server/IAsyncMessageBody.cs (renamed from Net.Messaging.FBM/src/Server/IAsyncMessageBody.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Server/IAsyncMessageReader.cs (renamed from Net.Messaging.FBM/src/Server/IAsyncMessageReader.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/Server/readme.md (renamed from Net.Messaging.FBM/src/Server/readme.md) | 0 | ||||
-rw-r--r-- | lib/Net.Messaging.FBM/src/VNLib.Net.Messaging.FBM.csproj (renamed from Net.Messaging.FBM/src/VNLib.Net.Messaging.FBM.csproj) | 4 | ||||
-rw-r--r-- | lib/Net.Transport.SimpleTCP/LICENSE.txt (renamed from Net.Transport.SimpleTCP/LICENSE.txt) | 0 | ||||
-rw-r--r-- | lib/Net.Transport.SimpleTCP/README.md (renamed from Net.Transport.SimpleTCP/README.md) | 0 | ||||
-rw-r--r-- | lib/Net.Transport.SimpleTCP/src/ITransportInterface.cs (renamed from Net.Transport.SimpleTCP/src/ITransportInterface.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Transport.SimpleTCP/src/ReusableNetworkStream.cs (renamed from Net.Transport.SimpleTCP/src/ReusableNetworkStream.cs) | 36 | ||||
-rw-r--r-- | lib/Net.Transport.SimpleTCP/src/SocketPipeLineWorker.cs (renamed from Net.Transport.SimpleTCP/src/SocketPipeLineWorker.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Transport.SimpleTCP/src/TCPConfig.cs (renamed from Net.Transport.SimpleTCP/src/TCPConfig.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Transport.SimpleTCP/src/TcpServer.cs (renamed from Net.Transport.SimpleTCP/src/TcpServer.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Transport.SimpleTCP/src/TransportEventContext.cs (renamed from Net.Transport.SimpleTCP/src/TransportEventContext.cs) | 0 | ||||
-rw-r--r-- | lib/Net.Transport.SimpleTCP/src/VNLib.Net.Transport.SimpleTCP.csproj (renamed from Net.Transport.SimpleTCP/src/VNLib.Net.Transport.SimpleTCP.csproj) | 0 | ||||
-rw-r--r-- | lib/Net.Transport.SimpleTCP/src/VnSocketAsyncArgs.cs (renamed from Net.Transport.SimpleTCP/src/VnSocketAsyncArgs.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/LICENSE.txt (renamed from Plugins.Essentials.ServiceStack/LICENSE.txt) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/README.md (renamed from Plugins.Essentials.ServiceStack/README.md) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/HttpServiceStack.cs (renamed from Plugins.Essentials.ServiceStack/src/HttpServiceStack.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/HttpServiceStackBuilder.cs (renamed from Plugins.Essentials.ServiceStack/src/HttpServiceStackBuilder.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/IHostTransportInfo.cs (renamed from Plugins.Essentials.ServiceStack/src/IHostTransportInfo.cs) | 2 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/IPluginController.cs (renamed from Plugins.Essentials.ServiceStack/src/IPluginController.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/IServiceHost.cs (renamed from Plugins.Essentials.ServiceStack/src/IServiceHost.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/ServiceDomain.cs (renamed from Plugins.Essentials.ServiceStack/src/ServiceDomain.cs) | 2 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/ServiceGroup.cs (renamed from Plugins.Essentials.ServiceStack/src/ServiceGroup.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj (renamed from Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj) | 6 | ||||
-rw-r--r-- | lib/Plugins.Essentials/LICENSE.txt (renamed from Plugins.Essentials/LICENSE.txt) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/README.md (renamed from Plugins.Essentials/README.md) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Accounts/AccountData.cs (renamed from Plugins.Essentials/src/Accounts/AccountData.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Accounts/AccountManager.cs (renamed from Plugins.Essentials/src/Accounts/AccountManager.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Accounts/INonce.cs (renamed from Plugins.Essentials/src/Accounts/INonce.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Accounts/LoginMessage.cs (renamed from Plugins.Essentials/src/Accounts/LoginMessage.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Accounts/PasswordHashing.cs (renamed from Plugins.Essentials/src/Accounts/PasswordHashing.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Content/IPageRouter.cs (renamed from Plugins.Essentials/src/Content/IPageRouter.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Endpoints/ProtectedWebEndpoint.cs (renamed from Plugins.Essentials/src/Endpoints/ProtectedWebEndpoint.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Endpoints/ProtectionSettings.cs (renamed from Plugins.Essentials/src/Endpoints/ProtectionSettings.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Endpoints/ResourceEndpointBase.cs (renamed from Plugins.Essentials/src/Endpoints/ResourceEndpointBase.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Endpoints/UnprotectedWebEndpoint.cs (renamed from Plugins.Essentials/src/Endpoints/UnprotectedWebEndpoint.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Endpoints/VirtualEndpoint.cs (renamed from Plugins.Essentials/src/Endpoints/VirtualEndpoint.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/EventProcessor.cs (renamed from Plugins.Essentials/src/EventProcessor.cs) | 3 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Extensions/CollectionsExtensions.cs (renamed from Plugins.Essentials/src/Extensions/CollectionsExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Extensions/ConnectionInfoExtensions.cs (renamed from Plugins.Essentials/src/Extensions/ConnectionInfoExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Extensions/EssentialHttpEventExtensions.cs (renamed from Plugins.Essentials/src/Extensions/EssentialHttpEventExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Extensions/IJsonSerializerBuffer.cs (renamed from Plugins.Essentials/src/Extensions/IJsonSerializerBuffer.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Extensions/InternalSerializerExtensions.cs (renamed from Plugins.Essentials/src/Extensions/InternalSerializerExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Extensions/InvalidJsonRequestException.cs (renamed from Plugins.Essentials/src/Extensions/InvalidJsonRequestException.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Extensions/JsonResponse.cs (renamed from Plugins.Essentials/src/Extensions/JsonResponse.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Extensions/RedirectType.cs (renamed from Plugins.Essentials/src/Extensions/RedirectType.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Extensions/SimpleMemoryResponse.cs (renamed from Plugins.Essentials/src/Extensions/SimpleMemoryResponse.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Extensions/UserExtensions.cs (renamed from Plugins.Essentials/src/Extensions/UserExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/FileProcessArgs.cs (renamed from Plugins.Essentials/src/FileProcessArgs.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/HttpEntity.cs (renamed from Plugins.Essentials/src/HttpEntity.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/IEpProcessingOptions.cs (renamed from Plugins.Essentials/src/IEpProcessingOptions.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Oauth/IOAuth2Provider.cs (renamed from Plugins.Essentials/src/Oauth/IOAuth2Provider.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Oauth/O2EndpointBase.cs (renamed from Plugins.Essentials/src/Oauth/O2EndpointBase.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Oauth/OauthHttpExtensions.cs (renamed from Plugins.Essentials/src/Oauth/OauthHttpExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Oauth/OauthSessionCacheExhaustedException.cs (renamed from Plugins.Essentials/src/Oauth/OauthSessionCacheExhaustedException.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Oauth/OauthSessionExtensions.cs (renamed from Plugins.Essentials/src/Oauth/OauthSessionExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Sessions/ISession.cs (renamed from Plugins.Essentials/src/Sessions/ISession.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Sessions/ISessionExtensions.cs (renamed from Plugins.Essentials/src/Sessions/ISessionExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Sessions/ISessionProvider.cs (renamed from Plugins.Essentials/src/Sessions/ISessionProvider.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Sessions/SessionBase.cs (renamed from Plugins.Essentials/src/Sessions/SessionBase.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Sessions/SessionCacheLimitException.cs (renamed from Plugins.Essentials/src/Sessions/SessionCacheLimitException.cs) | 2 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Sessions/SessionException.cs (renamed from Plugins.Essentials/src/Sessions/SessionException.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Sessions/SessionHandle.cs (renamed from Plugins.Essentials/src/Sessions/SessionHandle.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Sessions/SessionInfo.cs (renamed from Plugins.Essentials/src/Sessions/SessionInfo.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Statics.cs (renamed from Plugins.Essentials/src/Statics.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/TimestampedCounter.cs (renamed from Plugins.Essentials/src/TimestampedCounter.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Users/IUser.cs (renamed from Plugins.Essentials/src/Users/IUser.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Users/IUserManager.cs (renamed from Plugins.Essentials/src/Users/IUserManager.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Users/UserCreationFailedException.cs (renamed from Plugins.Essentials/src/Users/UserCreationFailedException.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Users/UserDeleteException.cs (renamed from Plugins.Essentials/src/Users/UserDeleteException.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Users/UserExistsException.cs (renamed from Plugins.Essentials/src/Users/UserExistsException.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Users/UserStatus.cs (renamed from Plugins.Essentials/src/Users/UserStatus.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/Users/UserUpdateException.cs (renamed from Plugins.Essentials/src/Users/UserUpdateException.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/VNLib.Plugins.Essentials.csproj (renamed from Plugins.Essentials/src/VNLib.Plugins.Essentials.csproj) | 4 | ||||
-rw-r--r-- | lib/Plugins.Essentials/src/WebSocketSession.cs (renamed from Plugins.Essentials/src/WebSocketSession.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Runtime/LICENSE.txt (renamed from Plugins.Runtime/LICENSE.txt) | 0 | ||||
-rw-r--r-- | lib/Plugins.Runtime/README.md (renamed from Plugins.Runtime/README.md) | 0 | ||||
-rw-r--r-- | lib/Plugins.Runtime/src/LivePlugin.cs (renamed from Plugins.Runtime/src/LivePlugin.cs) | 4 | ||||
-rw-r--r-- | lib/Plugins.Runtime/src/LoaderExtensions.cs (renamed from Plugins.Runtime/src/LoaderExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Runtime/src/PluginUnloadExcpetion.cs (renamed from Plugins.Runtime/src/PluginUnloadExcpetion.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Runtime/src/RuntimePluginLoader.cs (renamed from Plugins.Runtime/src/RuntimePluginLoader.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Runtime/src/VNLib.Plugins.Runtime.csproj (renamed from Plugins.Runtime/src/VNLib.Plugins.Runtime.csproj) | 2 | ||||
-rw-r--r-- | lib/Plugins/LICENSE.txt (renamed from Plugins/LICENSE.txt) | 0 | ||||
-rw-r--r-- | lib/Plugins/README.md (renamed from Plugins/README.md) | 0 | ||||
-rw-r--r-- | lib/Plugins/src/Attributes/ConfigurationInitalizerAttribute.cs (renamed from Plugins/src/Attributes/ConfigurationInitalizerAttribute.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins/src/Attributes/ConsoleEventHandler.cs (renamed from Plugins/src/Attributes/ConsoleEventHandler.cs) | 4 | ||||
-rw-r--r-- | lib/Plugins/src/Attributes/LogInitializerAttribute.cs (renamed from Plugins/src/Attributes/LogInitializerAttribute.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins/src/IEndpoint.cs (renamed from Plugins/src/IEndpoint.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins/src/IPlugin.cs (renamed from Plugins/src/IPlugin.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins/src/IVirtualEndpoint.cs (renamed from Plugins/src/IVirtualEndpoint.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins/src/VNLib.Plugins.csproj (renamed from Plugins/src/VNLib.Plugins.csproj) | 0 | ||||
-rw-r--r-- | lib/Plugins/src/VfReturnType.cs (renamed from Plugins/src/VfReturnType.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins/src/WebMessage.cs (renamed from Plugins/src/WebMessage.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/LICENSE.txt (renamed from Utils/LICENSE.txt) | 0 | ||||
-rw-r--r-- | lib/Utils/README.md (renamed from Utils/README.md) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Async/AccessSerializer.cs (renamed from Utils/src/Async/AccessSerializer.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Async/AsyncExclusiveResource.cs (renamed from Utils/src/Async/AsyncExclusiveResource.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Async/AsyncQueue.cs (renamed from Utils/src/Async/AsyncQueue.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Async/AsyncUpdatableResource.cs (renamed from Utils/src/Async/AsyncUpdatableResource.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Async/Exceptions/AsyncUpdateException.cs (renamed from Utils/src/Async/Exceptions/AsyncUpdateException.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Async/IAsyncExclusiveResource.cs (renamed from Utils/src/Async/IAsyncExclusiveResource.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Async/IAsyncWaitHandle.cs (renamed from Utils/src/Async/IAsyncWaitHandle.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Async/IWaitHandle.cs (renamed from Utils/src/Async/IWaitHandle.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/BitField.cs (renamed from Utils/src/BitField.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/ERRNO.cs (renamed from Utils/src/ERRNO.cs) | 2 | ||||
-rw-r--r-- | lib/Utils/src/Extensions/CacheExtensions.cs (renamed from Utils/src/Extensions/CacheExtensions.cs) | 71 | ||||
-rw-r--r-- | lib/Utils/src/Extensions/CollectionExtensions.cs (renamed from Utils/src/Extensions/CollectionExtensions.cs) | 6 | ||||
-rw-r--r-- | lib/Utils/src/Extensions/IoExtensions.cs (renamed from Utils/src/Extensions/IoExtensions.cs) | 56 | ||||
-rw-r--r-- | lib/Utils/src/Extensions/JsonExtensions.cs (renamed from Utils/src/Extensions/JsonExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Extensions/MemoryExtensions.cs (renamed from Utils/src/Extensions/MemoryExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Extensions/MutexReleaser.cs (renamed from Utils/src/Extensions/MutexReleaser.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Extensions/SafeLibraryExtensions.cs (renamed from Utils/src/Extensions/SafeLibraryExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Extensions/SemSlimReleaser.cs (renamed from Utils/src/Extensions/SemSlimReleaser.cs) | 13 | ||||
-rw-r--r-- | lib/Utils/src/Extensions/StringExtensions.cs (renamed from Utils/src/Extensions/StringExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Extensions/ThreadingExtensions.cs (renamed from Utils/src/Extensions/ThreadingExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Extensions/TimerExtensions.cs (renamed from Utils/src/Extensions/TimerExtensions.cs) | 9 | ||||
-rw-r--r-- | lib/Utils/src/Extensions/TimerResetHandle.cs | 66 | ||||
-rw-r--r-- | lib/Utils/src/Extensions/VnStringExtensions.cs (renamed from Utils/src/Extensions/VnStringExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/IIndexable.cs (renamed from Utils/src/IIndexable.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/IO/ArrayPoolStreamBuffer.cs (renamed from Utils/src/IO/ArrayPoolStreamBuffer.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/IO/BackingStream.cs (renamed from Utils/src/IO/BackingStream.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/IO/FileOperations.cs (renamed from Utils/src/IO/FileOperations.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/IO/IDataAccumulator.cs (renamed from Utils/src/IO/IDataAccumulator.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/IO/ISlindingWindowBuffer.cs (renamed from Utils/src/IO/ISlindingWindowBuffer.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/IO/IVnTextReader.cs (renamed from Utils/src/IO/IVnTextReader.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/IO/InMemoryTemplate.cs (renamed from Utils/src/IO/InMemoryTemplate.cs) | 2 | ||||
-rw-r--r-- | lib/Utils/src/IO/IsolatedStorageDirectory.cs (renamed from Utils/src/IO/IsolatedStorageDirectory.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/IO/SlidingWindowBufferExtensions.cs (renamed from Utils/src/IO/SlidingWindowBufferExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/IO/TemporayIsolatedFile.cs (renamed from Utils/src/IO/TemporayIsolatedFile.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/IO/VnMemoryStream.cs (renamed from Utils/src/IO/VnMemoryStream.cs) | 8 | ||||
-rw-r--r-- | lib/Utils/src/IO/VnStreamReader.cs (renamed from Utils/src/IO/VnStreamReader.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/IO/VnStreamWriter.cs (renamed from Utils/src/IO/VnStreamWriter.cs) | 12 | ||||
-rw-r--r-- | lib/Utils/src/IO/VnTextReaderExtensions.cs (renamed from Utils/src/IO/VnTextReaderExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/IO/WriteOnlyBufferedStream.cs (renamed from Utils/src/IO/WriteOnlyBufferedStream.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/IObjectStorage.cs (renamed from Utils/src/IObjectStorage.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Logging/ILogProvider.cs (renamed from Utils/src/Logging/ILogProvider.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Logging/LogLevel.cs (renamed from Utils/src/Logging/LogLevel.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Logging/LoggerExtensions.cs (renamed from Utils/src/Logging/LoggerExtensions.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/Caching/ICacheHolder.cs (renamed from Utils/src/Memory/Caching/ICacheHolder.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/Caching/ICacheable.cs (renamed from Utils/src/Memory/Caching/ICacheable.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/Caching/IObjectRental.cs (renamed from Utils/src/Memory/Caching/IObjectRental.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/Caching/IReusable.cs (renamed from Utils/src/Memory/Caching/IReusable.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/Caching/LRUCache.cs (renamed from Utils/src/Memory/Caching/LRUCache.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/Caching/LRUDataStore.cs (renamed from Utils/src/Memory/Caching/LRUDataStore.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/Caching/ObjectRental.cs (renamed from Utils/src/Memory/Caching/ObjectRental.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/Caching/ObjectRentalBase.cs (renamed from Utils/src/Memory/Caching/ObjectRentalBase.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/Caching/ReusableStore.cs (renamed from Utils/src/Memory/Caching/ReusableStore.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/Caching/ThreadLocalObjectStorage.cs (renamed from Utils/src/Memory/Caching/ThreadLocalObjectStorage.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/Caching/ThreadLocalReusableStore.cs (renamed from Utils/src/Memory/Caching/ThreadLocalReusableStore.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/ForwardOnlyBufferWriter.cs (renamed from Utils/src/Memory/ForwardOnlyBufferWriter.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/ForwardOnlyMemoryReader.cs (renamed from Utils/src/Memory/ForwardOnlyMemoryReader.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/ForwardOnlyMemoryWriter.cs (renamed from Utils/src/Memory/ForwardOnlyMemoryWriter.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/ForwardOnlyReader.cs (renamed from Utils/src/Memory/ForwardOnlyReader.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/IMemoryHandle.cs (renamed from Utils/src/Memory/IMemoryHandle.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/IStringSerializeable.cs (renamed from Utils/src/Memory/IStringSerializeable.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/IUnmangedHeap.cs (renamed from Utils/src/Memory/IUnmangedHeap.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/Memory.cs (renamed from Utils/src/Memory/Memory.cs) | 2 | ||||
-rw-r--r-- | lib/Utils/src/Memory/MemoryHandle.cs (renamed from Utils/src/Memory/MemoryHandle.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/PrivateBuffersMemoryPool.cs (renamed from Utils/src/Memory/PrivateBuffersMemoryPool.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/PrivateHeap.cs (renamed from Utils/src/Memory/PrivateHeap.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/PrivateString.cs (renamed from Utils/src/Memory/PrivateString.cs) | 14 | ||||
-rw-r--r-- | lib/Utils/src/Memory/PrivateStringManager.cs (renamed from Utils/src/Memory/PrivateStringManager.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/ProcessHeap.cs (renamed from Utils/src/Memory/ProcessHeap.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/RpMallocPrivateHeap.cs (renamed from Utils/src/Memory/RpMallocPrivateHeap.cs) | 2 | ||||
-rw-r--r-- | lib/Utils/src/Memory/SubSequence.cs (renamed from Utils/src/Memory/SubSequence.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/SysBufferMemoryManager.cs (renamed from Utils/src/Memory/SysBufferMemoryManager.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/UnmanagedHeapBase.cs (renamed from Utils/src/Memory/UnmanagedHeapBase.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/UnsafeMemoryHandle.cs (renamed from Utils/src/Memory/UnsafeMemoryHandle.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/VnString.cs (renamed from Utils/src/Memory/VnString.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/VnTable.cs (renamed from Utils/src/Memory/VnTable.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Memory/VnTempBuffer.cs (renamed from Utils/src/Memory/VnTempBuffer.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Native/SafeLibraryHandle.cs (renamed from Utils/src/Native/SafeLibraryHandle.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Native/SafeMethodHandle.cs (renamed from Utils/src/Native/SafeMethodHandle.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/NativeLibraryException.cs (renamed from Utils/src/NativeLibraryException.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Resources/BackedResourceBase.cs (renamed from Utils/src/Resources/BackedResourceBase.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Resources/CallbackOpenHandle.cs (renamed from Utils/src/Resources/CallbackOpenHandle.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Resources/ExclusiveResourceHandle.cs (renamed from Utils/src/Resources/ExclusiveResourceHandle.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Resources/IExclusiveResource.cs (renamed from Utils/src/Resources/IExclusiveResource.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Resources/IResource.cs (renamed from Utils/src/Resources/IResource.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Resources/OpenHandle.cs (renamed from Utils/src/Resources/OpenHandle.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Resources/OpenResourceHandle.cs (renamed from Utils/src/Resources/OpenResourceHandle.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Resources/ResourceDeleteFailedException.cs (renamed from Utils/src/Resources/ResourceDeleteFailedException.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Resources/ResourceUpdateFailedException.cs (renamed from Utils/src/Resources/ResourceUpdateFailedException.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/Resources/UpdatableResource.cs (renamed from Utils/src/Resources/UpdatableResource.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/VNLib.Utils.csproj (renamed from Utils/src/VNLib.Utils.csproj) | 0 | ||||
-rw-r--r-- | lib/Utils/src/VnDisposeable.cs (renamed from Utils/src/VnDisposeable.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/src/VnEncoding.cs (renamed from Utils/src/VnEncoding.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/tests/ERRNOTest.cs (renamed from Utils/tests/ERRNOTest.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/tests/Memory/MemoryHandleTest.cs (renamed from Utils/tests/Memory/MemoryHandleTest.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/tests/Memory/MemoryTests.cs (renamed from Utils/tests/Memory/MemoryTests.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/tests/Memory/VnTableTests.cs (renamed from Utils/tests/Memory/VnTableTests.cs) | 0 | ||||
-rw-r--r-- | lib/Utils/tests/README.md (renamed from Utils/tests/README.md) | 0 | ||||
-rw-r--r-- | lib/Utils/tests/VNLib.UtilsTests.csproj (renamed from Utils/tests/VNLib.UtilsTests.csproj) | 0 | ||||
-rw-r--r-- | lib/Utils/tests/VnEncodingTests.cs (renamed from Utils/tests/VnEncodingTests.cs) | 0 | ||||
-rw-r--r-- | lib/WinRpMalloc/LICENSE.txt (renamed from WinRpMalloc/LICENSE.txt) | 0 | ||||
-rw-r--r-- | lib/WinRpMalloc/README.md (renamed from WinRpMalloc/README.md) | 0 | ||||
-rw-r--r-- | lib/WinRpMalloc/src/WinRpMalloc.vcxproj (renamed from WinRpMalloc/src/WinRpMalloc.vcxproj) | 0 | ||||
-rw-r--r-- | lib/WinRpMalloc/src/dllmain.c (renamed from WinRpMalloc/src/dllmain.c) | 0 | ||||
-rw-r--r-- | lib/WinRpMalloc/src/framework.h (renamed from WinRpMalloc/src/framework.h) | 0 | ||||
-rw-r--r-- | lib/WinRpMalloc/src/pch.c (renamed from WinRpMalloc/src/pch.c) | 0 | ||||
-rw-r--r-- | lib/WinRpMalloc/src/pch.h (renamed from WinRpMalloc/src/pch.h) | 0 | ||||
-rw-r--r-- | lib/WinRpMalloc/src/rpmalloc.c (renamed from WinRpMalloc/src/rpmalloc.c) | 0 | ||||
-rw-r--r-- | lib/WinRpMalloc/src/rpmalloc.h (renamed from WinRpMalloc/src/rpmalloc.h) | 0 |
296 files changed, 356 insertions, 135 deletions
diff --git a/Hashing.Portable/LICENSE.txt b/lib/Hashing.Portable/LICENSE.txt index 895db28..895db28 100644 --- a/Hashing.Portable/LICENSE.txt +++ b/lib/Hashing.Portable/LICENSE.txt diff --git a/Hashing.Portable/README.md b/lib/Hashing.Portable/README.md index 5ebf6be..5ebf6be 100644 --- a/Hashing.Portable/README.md +++ b/lib/Hashing.Portable/README.md diff --git a/Hashing.Portable/src/Argon2/Argon2PasswordEntry.cs b/lib/Hashing.Portable/src/Argon2/Argon2PasswordEntry.cs index bc57d7a..bc57d7a 100644 --- a/Hashing.Portable/src/Argon2/Argon2PasswordEntry.cs +++ b/lib/Hashing.Portable/src/Argon2/Argon2PasswordEntry.cs diff --git a/Hashing.Portable/src/Argon2/Argon2_Context.cs b/lib/Hashing.Portable/src/Argon2/Argon2_Context.cs index 78d0f13..78d0f13 100644 --- a/Hashing.Portable/src/Argon2/Argon2_Context.cs +++ b/lib/Hashing.Portable/src/Argon2/Argon2_Context.cs diff --git a/Hashing.Portable/src/Argon2/Argon2_ErrorCodes.cs b/lib/Hashing.Portable/src/Argon2/Argon2_ErrorCodes.cs index 70a6764..70a6764 100644 --- a/Hashing.Portable/src/Argon2/Argon2_ErrorCodes.cs +++ b/lib/Hashing.Portable/src/Argon2/Argon2_ErrorCodes.cs diff --git a/Hashing.Portable/src/Argon2/VnArgon2.cs b/lib/Hashing.Portable/src/Argon2/VnArgon2.cs index 2e98ddb..01cfe74 100644 --- a/Hashing.Portable/src/Argon2/VnArgon2.cs +++ b/lib/Hashing.Portable/src/Argon2/VnArgon2.cs @@ -61,15 +61,17 @@ namespace VNLib.Hashing /* Argon2 primitive type */ private enum Argon2_type { - Argon2_d, Argon2_i, Argon2_id + Argon2_d, + Argon2_i, + Argon2_id } /* Version of the algorithm */ private enum Argon2_version { - ARGON2_VERSION_10 = 0x10, - ARGON2_VERSION_13 = 0x13, - ARGON2_VERSION_NUMBER = ARGON2_VERSION_13 + VERSION_10 = 0x10, + VERSION_13 = 0x13, + ARGON2_VERSION_NUMBER = VERSION_13 } /* @@ -82,7 +84,7 @@ namespace VNLib.Hashing * This should basically never get finalized, but if it does * it will free the native lib */ - private class Argon2NativeLibary + private sealed class Argon2NativeLibary { private readonly SafeMethodHandle<Argon2InvokeHash> _argon2id_ctx; @@ -202,7 +204,7 @@ namespace VNLib.Hashing //encode salt salts = Convert.ToBase64String(salt); //Encode salt in base64 - return $"${ID_MODE},v={(int)Argon2_version.ARGON2_VERSION_13},m={memCost},t={timeCost},p={parallelism},s={salts}${hash}"; + return $"${ID_MODE},v={(int)Argon2_version.VERSION_13},m={memCost},t={timeCost},p={parallelism},s={salts}${hash}"; } /// <summary> @@ -225,7 +227,7 @@ namespace VNLib.Hashing Argon2_Context ctx; //Pointer Argon2_Context* context = &ctx; - context->version = Argon2_version.ARGON2_VERSION_13; + context->version = Argon2_version.VERSION_13; context->t_cost = timeCost; context->m_cost = memCost; context->threads = parallelism; @@ -282,7 +284,7 @@ namespace VNLib.Hashing Argon2_Context ctx; //Pointer Argon2_Context* context = &ctx; - context->version = Argon2_version.ARGON2_VERSION_13; + context->version = Argon2_version.VERSION_13; context->m_cost = memCost; context->t_cost = timeCost; context->threads = parallelism; @@ -319,7 +321,6 @@ namespace VNLib.Hashing /// <param name="rawPass">Password data</param> /// <param name="secret">Optional secret that was included in hash</param> /// <param name="hash">Full hash span</param> - /// <param name="hashLen">Length of hash</param> /// <exception cref="OverflowException"></exception> /// <exception cref="FormatException"></exception> /// <exception cref="VnArgon2Exception"></exception> diff --git a/Hashing.Portable/src/Argon2/VnArgon2Exception.cs b/lib/Hashing.Portable/src/Argon2/VnArgon2Exception.cs index 8a3e2b2..870baca 100644 --- a/Hashing.Portable/src/Argon2/VnArgon2Exception.cs +++ b/lib/Hashing.Portable/src/Argon2/VnArgon2Exception.cs @@ -22,16 +22,6 @@ * along with VNLib.Hashing.Portable. If not, see http://www.gnu.org/licenses/. */ -/* - * VnArgon2.cs - * Author: Vaughhn Nugent - * Date: July 17, 2021 - * - * Dependencies Argon2. - * https://github.com/P-H-C/phc-winner-argon2 - * - */ - using System; namespace VNLib.Hashing @@ -50,5 +40,13 @@ namespace VNLib.Hashing Errno = errno; } public override string Message => $"Argon 2 lib error, code {(int)Errno}, name {Enum.GetName(Errno)}, messsage {base.Message}"; + + public VnArgon2Exception() + {} + public VnArgon2Exception(string message) : base(message) + {} + + public VnArgon2Exception(string message, Exception innerException) : base(message, innerException) + {} } }
\ No newline at end of file diff --git a/Hashing.Portable/src/Argon2/VnArgon2PasswordFormatException.cs b/lib/Hashing.Portable/src/Argon2/VnArgon2PasswordFormatException.cs index 37e87a6..37e87a6 100644 --- a/Hashing.Portable/src/Argon2/VnArgon2PasswordFormatException.cs +++ b/lib/Hashing.Portable/src/Argon2/VnArgon2PasswordFormatException.cs diff --git a/Hashing.Portable/src/IdentityUtility/HashingExtensions.cs b/lib/Hashing.Portable/src/IdentityUtility/HashingExtensions.cs index f36b151..f36b151 100644 --- a/Hashing.Portable/src/IdentityUtility/HashingExtensions.cs +++ b/lib/Hashing.Portable/src/IdentityUtility/HashingExtensions.cs diff --git a/Hashing.Portable/src/IdentityUtility/JsonWebKey.cs b/lib/Hashing.Portable/src/IdentityUtility/JsonWebKey.cs index 54098c2..54098c2 100644 --- a/Hashing.Portable/src/IdentityUtility/JsonWebKey.cs +++ b/lib/Hashing.Portable/src/IdentityUtility/JsonWebKey.cs diff --git a/Hashing.Portable/src/IdentityUtility/JsonWebToken.cs b/lib/Hashing.Portable/src/IdentityUtility/JsonWebToken.cs index 716dd4c..716dd4c 100644 --- a/Hashing.Portable/src/IdentityUtility/JsonWebToken.cs +++ b/lib/Hashing.Portable/src/IdentityUtility/JsonWebToken.cs diff --git a/Hashing.Portable/src/IdentityUtility/JwtClaim.cs b/lib/Hashing.Portable/src/IdentityUtility/JwtClaim.cs index 55610a5..55610a5 100644 --- a/Hashing.Portable/src/IdentityUtility/JwtClaim.cs +++ b/lib/Hashing.Portable/src/IdentityUtility/JwtClaim.cs diff --git a/Hashing.Portable/src/IdentityUtility/JwtExtensions.cs b/lib/Hashing.Portable/src/IdentityUtility/JwtExtensions.cs index fca2e75..fca2e75 100644 --- a/Hashing.Portable/src/IdentityUtility/JwtExtensions.cs +++ b/lib/Hashing.Portable/src/IdentityUtility/JwtExtensions.cs diff --git a/Hashing.Portable/src/IdentityUtility/ReadOnlyJsonWebKey.cs b/lib/Hashing.Portable/src/IdentityUtility/ReadOnlyJsonWebKey.cs index f86855a..f86855a 100644 --- a/Hashing.Portable/src/IdentityUtility/ReadOnlyJsonWebKey.cs +++ b/lib/Hashing.Portable/src/IdentityUtility/ReadOnlyJsonWebKey.cs diff --git a/Hashing.Portable/src/ManagedHash.cs b/lib/Hashing.Portable/src/ManagedHash.cs index 6cb4426..46a8cb8 100644 --- a/Hashing.Portable/src/ManagedHash.cs +++ b/lib/Hashing.Portable/src/ManagedHash.cs @@ -43,6 +43,7 @@ namespace VNLib.Hashing /// <summary> /// The binary hash encoding type /// </summary> + [Flags] public enum HashEncodingMode { /// <summary> diff --git a/Hashing.Portable/src/RandomHash.cs b/lib/Hashing.Portable/src/RandomHash.cs index 5a4fc66..5a4fc66 100644 --- a/Hashing.Portable/src/RandomHash.cs +++ b/lib/Hashing.Portable/src/RandomHash.cs diff --git a/Hashing.Portable/src/VNLib.Hashing.Portable.csproj b/lib/Hashing.Portable/src/VNLib.Hashing.Portable.csproj index 9494521..9494521 100644 --- a/Hashing.Portable/src/VNLib.Hashing.Portable.csproj +++ b/lib/Hashing.Portable/src/VNLib.Hashing.Portable.csproj diff --git a/Net.Http/LICENSE.txt b/lib/Net.Http/LICENSE.txt index 147bcd6..147bcd6 100644 --- a/Net.Http/LICENSE.txt +++ b/lib/Net.Http/LICENSE.txt diff --git a/Net.Http/readme.md b/lib/Net.Http/readme.md index e69de29..e69de29 100644 --- a/Net.Http/readme.md +++ b/lib/Net.Http/readme.md diff --git a/Net.Http/src/AlternateProtocolBase.cs b/lib/Net.Http/src/AlternateProtocolBase.cs index 929bc33..929bc33 100644 --- a/Net.Http/src/AlternateProtocolBase.cs +++ b/lib/Net.Http/src/AlternateProtocolBase.cs diff --git a/Net.Http/src/ConnectionInfo.cs b/lib/Net.Http/src/ConnectionInfo.cs index 6e1660d..6e1660d 100644 --- a/Net.Http/src/ConnectionInfo.cs +++ b/lib/Net.Http/src/ConnectionInfo.cs diff --git a/Net.Http/src/Core/HttpContext.cs b/lib/Net.Http/src/Core/HttpContext.cs index 43d1975..43d1975 100644 --- a/Net.Http/src/Core/HttpContext.cs +++ b/lib/Net.Http/src/Core/HttpContext.cs diff --git a/Net.Http/src/Core/HttpCookie.cs b/lib/Net.Http/src/Core/HttpCookie.cs index f5408b2..c48ad00 100644 --- a/Net.Http/src/Core/HttpCookie.cs +++ b/lib/Net.Http/src/Core/HttpCookie.cs @@ -30,7 +30,7 @@ using VNLib.Utils.Extensions; namespace VNLib.Net.Http.Core { - internal class HttpCookie : IStringSerializeable, IEquatable<HttpCookie> + internal sealed class HttpCookie : IStringSerializeable, IEquatable<HttpCookie> { public string Name { get; } public string? Value { get; init; } diff --git a/Net.Http/src/Core/HttpEvent.cs b/lib/Net.Http/src/Core/HttpEvent.cs index 7d7c1e7..7d7c1e7 100644 --- a/Net.Http/src/Core/HttpEvent.cs +++ b/lib/Net.Http/src/Core/HttpEvent.cs diff --git a/Net.Http/src/Core/HttpServerBase.cs b/lib/Net.Http/src/Core/HttpServerBase.cs index 3a50672..d3f5e00 100644 --- a/Net.Http/src/Core/HttpServerBase.cs +++ b/lib/Net.Http/src/Core/HttpServerBase.cs @@ -147,7 +147,7 @@ namespace VNLib.Net.Http throw new ArgumentException("ConnectionKeepAlive cannot be less than 0", nameof(conf)); } - if (conf.DefaultHttpVersion == HttpVersion.NotSupported) + if (conf.DefaultHttpVersion == HttpVersion.None) { throw new ArgumentException("DefaultHttpVersion cannot be NotSupported", nameof(conf)); } diff --git a/Net.Http/src/Core/HttpServerProcessing.cs b/lib/Net.Http/src/Core/HttpServerProcessing.cs index 881b66c..881b66c 100644 --- a/Net.Http/src/Core/HttpServerProcessing.cs +++ b/lib/Net.Http/src/Core/HttpServerProcessing.cs diff --git a/Net.Http/src/Core/IConnectionContext.cs b/lib/Net.Http/src/Core/IConnectionContext.cs index 2e3ca46..2e3ca46 100644 --- a/Net.Http/src/Core/IConnectionContext.cs +++ b/lib/Net.Http/src/Core/IConnectionContext.cs diff --git a/Net.Http/src/Core/IHttpEvent.cs b/lib/Net.Http/src/Core/IHttpEvent.cs index ec1dbb5..ec1dbb5 100644 --- a/Net.Http/src/Core/IHttpEvent.cs +++ b/lib/Net.Http/src/Core/IHttpEvent.cs diff --git a/Net.Http/src/Core/IHttpLifeCycle.cs b/lib/Net.Http/src/Core/IHttpLifeCycle.cs index 135219d..135219d 100644 --- a/Net.Http/src/Core/IHttpLifeCycle.cs +++ b/lib/Net.Http/src/Core/IHttpLifeCycle.cs diff --git a/Net.Http/src/Core/IHttpResponseBody.cs b/lib/Net.Http/src/Core/IHttpResponseBody.cs index aa2dd34..aa2dd34 100644 --- a/Net.Http/src/Core/IHttpResponseBody.cs +++ b/lib/Net.Http/src/Core/IHttpResponseBody.cs diff --git a/Net.Http/src/Core/Request/HttpInputStream.cs b/lib/Net.Http/src/Core/Request/HttpInputStream.cs index 61d215f..61d215f 100644 --- a/Net.Http/src/Core/Request/HttpInputStream.cs +++ b/lib/Net.Http/src/Core/Request/HttpInputStream.cs diff --git a/Net.Http/src/Core/Request/HttpRequest.cs b/lib/Net.Http/src/Core/Request/HttpRequest.cs index 2410a8f..593275d 100644 --- a/Net.Http/src/Core/Request/HttpRequest.cs +++ b/lib/Net.Http/src/Core/Request/HttpRequest.cs @@ -101,8 +101,8 @@ namespace VNLib.Net.Http.Core //Set to defaults ContentType = ContentType.NonSupported; EncryptionVersion = default; - Method = HttpMethod.NOT_SUPPORTED; - HttpVersion = HttpVersion.NotSupported; + Method = HttpMethod.None; + HttpVersion = HttpVersion.None; } public void OnComplete() @@ -152,7 +152,7 @@ namespace VNLib.Net.Http.Core writer.Append(" HTTP/"); switch (HttpVersion) { - case HttpVersion.NotSupported: + case HttpVersion.None: writer.Append("Unsuppored Http version"); break; case HttpVersion.Http1: diff --git a/Net.Http/src/Core/Request/HttpRequestBody.cs b/lib/Net.Http/src/Core/Request/HttpRequestBody.cs index 824ca24..824ca24 100644 --- a/Net.Http/src/Core/Request/HttpRequestBody.cs +++ b/lib/Net.Http/src/Core/Request/HttpRequestBody.cs diff --git a/Net.Http/src/Core/Request/HttpRequestExtensions.cs b/lib/Net.Http/src/Core/Request/HttpRequestExtensions.cs index 6a93192..6a93192 100644 --- a/Net.Http/src/Core/Request/HttpRequestExtensions.cs +++ b/lib/Net.Http/src/Core/Request/HttpRequestExtensions.cs diff --git a/Net.Http/src/Core/RequestParse/Http11ParseExtensions.cs b/lib/Net.Http/src/Core/RequestParse/Http11ParseExtensions.cs index b37b78b..f876528 100644 --- a/Net.Http/src/Core/RequestParse/Http11ParseExtensions.cs +++ b/lib/Net.Http/src/Core/RequestParse/Http11ParseExtensions.cs @@ -89,7 +89,7 @@ namespace VNLib.Net.Http.Core //Decode the verb (function requires the string be the exact characters of the request method) Request.Method = HttpHelpers.GetRequestMethod(requestLine[0..index]); //Make sure the method is supported - if (Request.Method == HttpMethod.NOT_SUPPORTED) + if (Request.Method == HttpMethod.None) { return HttpStatusCode.MethodNotAllowed; } @@ -105,7 +105,7 @@ namespace VNLib.Net.Http.Core //Try to parse the version and only accept the 3 major versions of http Request.HttpVersion = HttpHelpers.ParseHttpVersion(requestLine[endloc..]); //Check to see if the version was parsed succesfully - if (Request.HttpVersion == HttpVersion.NotSupported) + if (Request.HttpVersion == HttpVersion.None) { //Return not supported return HttpStatusCode.HttpVersionNotSupported; diff --git a/Net.Http/src/Core/Response/ChunkDataAccumulator.cs b/lib/Net.Http/src/Core/Response/ChunkDataAccumulator.cs index 35c0275..35c0275 100644 --- a/Net.Http/src/Core/Response/ChunkDataAccumulator.cs +++ b/lib/Net.Http/src/Core/Response/ChunkDataAccumulator.cs diff --git a/Net.Http/src/Core/Response/ChunkedStream.cs b/lib/Net.Http/src/Core/Response/ChunkedStream.cs index 7a8bebc..953d763 100644 --- a/Net.Http/src/Core/Response/ChunkedStream.cs +++ b/lib/Net.Http/src/Core/Response/ChunkedStream.cs @@ -43,15 +43,17 @@ using System.Threading.Tasks; using VNLib.Utils; using VNLib.Utils.Memory; +#pragma warning disable CA2215 // Dispose methods should call base class dispose + namespace VNLib.Net.Http.Core { - internal partial class HttpResponse + internal sealed partial class HttpResponse { /// <summary> /// Writes chunked HTTP message bodies to an underlying streamwriter /// </summary> - private class ChunkedStream : Stream, IHttpLifeCycle + private sealed class ChunkedStream : Stream, IHttpLifeCycle { private const string LAST_CHUNK_STRING = "0\r\n\r\n"; @@ -175,6 +177,7 @@ namespace VNLib.Net.Http.Core } } + public override async ValueTask DisposeAsync() { //If write error occured, then do not write the last chunk @@ -242,7 +245,7 @@ namespace VNLib.Net.Http.Core //Clear error flag HadError = false; } - + #endregion } } diff --git a/Net.Http/src/Core/Response/DirectStream.cs b/lib/Net.Http/src/Core/Response/DirectStream.cs index 957c2a6..3c984ef 100644 --- a/Net.Http/src/Core/Response/DirectStream.cs +++ b/lib/Net.Http/src/Core/Response/DirectStream.cs @@ -29,9 +29,9 @@ using System.Threading.Tasks; namespace VNLib.Net.Http.Core { - internal partial class HttpResponse + internal sealed partial class HttpResponse { - private class DirectStream : Stream + private sealed class DirectStream : Stream { private Stream? BaseStream; diff --git a/Net.Http/src/Core/Response/HeaderDataAccumulator.cs b/lib/Net.Http/src/Core/Response/HeaderDataAccumulator.cs index 715871f..c43441c 100644 --- a/Net.Http/src/Core/Response/HeaderDataAccumulator.cs +++ b/lib/Net.Http/src/Core/Response/HeaderDataAccumulator.cs @@ -41,7 +41,7 @@ namespace VNLib.Net.Http.Core /// <summary> /// Specialized data accumulator for compiling response headers /// </summary> - private class HeaderDataAccumulator : IDataAccumulator<char>, IStringSerializeable, IHttpLifeCycle + private sealed class HeaderDataAccumulator : IDataAccumulator<char>, IStringSerializeable, IHttpLifeCycle { private readonly int BufferSize; diff --git a/Net.Http/src/Core/Response/HttpContextExtensions.cs b/lib/Net.Http/src/Core/Response/HttpContextExtensions.cs index 12702b3..12702b3 100644 --- a/Net.Http/src/Core/Response/HttpContextExtensions.cs +++ b/lib/Net.Http/src/Core/Response/HttpContextExtensions.cs diff --git a/Net.Http/src/Core/Response/HttpContextResponseWriting.cs b/lib/Net.Http/src/Core/Response/HttpContextResponseWriting.cs index b03363e..b03363e 100644 --- a/Net.Http/src/Core/Response/HttpContextResponseWriting.cs +++ b/lib/Net.Http/src/Core/Response/HttpContextResponseWriting.cs diff --git a/Net.Http/src/Core/Response/HttpResponse.cs b/lib/Net.Http/src/Core/Response/HttpResponse.cs index ab0971d..ab0971d 100644 --- a/Net.Http/src/Core/Response/HttpResponse.cs +++ b/lib/Net.Http/src/Core/Response/HttpResponse.cs diff --git a/Net.Http/src/Core/Response/ResponseWriter.cs b/lib/Net.Http/src/Core/Response/ResponseWriter.cs index c9f20b5..c9f20b5 100644 --- a/Net.Http/src/Core/Response/ResponseWriter.cs +++ b/lib/Net.Http/src/Core/Response/ResponseWriter.cs diff --git a/Net.Http/src/Core/SharedHeaderReaderBuffer.cs b/lib/Net.Http/src/Core/SharedHeaderReaderBuffer.cs index 36ebb66..36ebb66 100644 --- a/Net.Http/src/Core/SharedHeaderReaderBuffer.cs +++ b/lib/Net.Http/src/Core/SharedHeaderReaderBuffer.cs diff --git a/Net.Http/src/Core/VnHeaderCollection.cs b/lib/Net.Http/src/Core/VnHeaderCollection.cs index 8ce3c88..8ce3c88 100644 --- a/Net.Http/src/Core/VnHeaderCollection.cs +++ b/lib/Net.Http/src/Core/VnHeaderCollection.cs diff --git a/Net.Http/src/Exceptions/ContentTypeException.cs b/lib/Net.Http/src/Exceptions/ContentTypeException.cs index abff151..abff151 100644 --- a/Net.Http/src/Exceptions/ContentTypeException.cs +++ b/lib/Net.Http/src/Exceptions/ContentTypeException.cs diff --git a/Net.Http/src/Exceptions/TerminateConnectionException.cs b/lib/Net.Http/src/Exceptions/TerminateConnectionException.cs index b854b6e..b854b6e 100644 --- a/Net.Http/src/Exceptions/TerminateConnectionException.cs +++ b/lib/Net.Http/src/Exceptions/TerminateConnectionException.cs diff --git a/Net.Http/src/FileUpload.cs b/lib/Net.Http/src/FileUpload.cs index 654d682..654d682 100644 --- a/Net.Http/src/FileUpload.cs +++ b/lib/Net.Http/src/FileUpload.cs diff --git a/Net.Http/src/Helpers/AlternateProtocolTransportStreamWrapper.cs b/lib/Net.Http/src/Helpers/AlternateProtocolTransportStreamWrapper.cs index 88891fb..d81b7eb 100644 --- a/Net.Http/src/Helpers/AlternateProtocolTransportStreamWrapper.cs +++ b/lib/Net.Http/src/Helpers/AlternateProtocolTransportStreamWrapper.cs @@ -28,9 +28,11 @@ using System.Threading.Tasks; using VNLib.Utils.IO; +#pragma warning disable CA2215 // Dispose methods should call base class dispose + namespace VNLib.Net.Http.Core { - internal class AlternateProtocolTransportStreamWrapper : BackingStream<Stream> + internal sealed class AlternateProtocolTransportStreamWrapper : BackingStream<Stream> { public AlternateProtocolTransportStreamWrapper(Stream transport) { @@ -38,8 +40,9 @@ namespace VNLib.Net.Http.Core } //Do not allow the caller to dispose the transport stream + protected override void Dispose(bool disposing) - {} + { } public override ValueTask DisposeAsync() { return ValueTask.CompletedTask; diff --git a/Net.Http/src/Helpers/ContentType.cs b/lib/Net.Http/src/Helpers/ContentType.cs index ce7b7ce..ce7b7ce 100644 --- a/Net.Http/src/Helpers/ContentType.cs +++ b/lib/Net.Http/src/Helpers/ContentType.cs diff --git a/Net.Http/src/Helpers/CoreBufferHelpers.cs b/lib/Net.Http/src/Helpers/CoreBufferHelpers.cs index 5c5d918..5cc5ed9 100644 --- a/Net.Http/src/Helpers/CoreBufferHelpers.cs +++ b/lib/Net.Http/src/Helpers/CoreBufferHelpers.cs @@ -51,7 +51,7 @@ namespace VNLib.Net.Http.Core /// </summary> internal static class CoreBufferHelpers { - private class InitDataBuffer : ISlindingWindowBuffer<byte> + private sealed class InitDataBuffer : ISlindingWindowBuffer<byte> { private readonly ArrayPool<byte> pool; private readonly int size; diff --git a/Net.Http/src/Helpers/HelperTypes.cs b/lib/Net.Http/src/Helpers/HelperTypes.cs index e89ca78..a8aeb1f 100644 --- a/Net.Http/src/Helpers/HelperTypes.cs +++ b/lib/Net.Http/src/Helpers/HelperTypes.cs @@ -26,10 +26,13 @@ using System; namespace VNLib.Net.Http { + /// <summary> + /// HTTP request method + /// </summary> [Flags] public enum HttpMethod { - NOT_SUPPORTED, + None, GET = 0x01, POST = 0x02, PUT = 0x04, @@ -49,11 +52,27 @@ namespace VNLib.Net.Http [Flags] public enum HttpVersion { - NotSupported, + None, + /// <summary> + /// Http Version 1 + /// </summary> Http1 = 0x01, + /// <summary> + /// Http Version 1.1 + /// </summary> Http11 = 0x02, + /// <summary> + /// Http Version 2.0 + /// </summary> Http2 = 0x04, - Http09 = 0x08 + /// <summary> + /// Http Version 0.9 + /// </summary> + Http09 = 0x08, + /// <summary> + /// Http Version 3.0 + /// </summary> + Http3 = 0x0A } /// <summary> /// HTTP response entity cache flags @@ -61,7 +80,7 @@ namespace VNLib.Net.Http [Flags] public enum CacheType { - Ignore = 0x00, + None = 0x00, NoCache = 0x01, Private = 0x02, Public = 0x04, @@ -74,7 +93,18 @@ namespace VNLib.Net.Http /// </summary> public enum CookieSameSite { - Lax, None, SameSite + /// <summary> + /// Cookie samesite property lax mode + /// </summary> + Lax, + /// <summary> + /// Cookie samesite property, None mode + /// </summary> + None, + /// <summary> + /// Cookie samesite property, Same-Site mode + /// </summary> + SameSite } /// <summary> @@ -91,6 +121,16 @@ namespace VNLib.Net.Http /// <param name="redirecturl">Url to redirect to</param> public Redirect(string url, string redirecturl) { + if (string.IsNullOrEmpty(url)) + { + throw new ArgumentException($"'{nameof(url)}' cannot be null or empty.", nameof(url)); + } + + if (string.IsNullOrEmpty(redirecturl)) + { + throw new ArgumentException($"'{nameof(redirecturl)}' cannot be null or empty.", nameof(redirecturl)); + } + Url = url; RedirectUrl = new(redirecturl); } diff --git a/Net.Http/src/Helpers/HttpHelpers.cs b/lib/Net.Http/src/Helpers/HttpHelpers.cs index 9cceff1..0937981 100644 --- a/Net.Http/src/Helpers/HttpHelpers.cs +++ b/lib/Net.Http/src/Helpers/HttpHelpers.cs @@ -177,7 +177,7 @@ namespace VNLib.Net.Http foreach (HttpMethod method in Enum.GetValues<HttpMethod>()) { //Exclude the not supported method - if (method == HttpMethod.NOT_SUPPORTED) + if (method == HttpMethod.None) { continue; } @@ -272,14 +272,14 @@ namespace VNLib.Net.Http /// Returns an enum value of an httpmethod of an http request method string /// </summary> /// <param name="smethod">Http acceptable method type string</param> - /// <returns>Request method, <see cref="HttpMethod.NOT_SUPPORTED"/> if method is malformatted or unsupported</returns> + /// <returns>Request method, <see cref="HttpMethod.None"/> if method is malformatted or unsupported</returns> /// <exception cref="ArgumentNullException"></exception> public static HttpMethod GetRequestMethod(ReadOnlySpan<char> smethod) { //Get the hashcode for the method "string" int hashCode = string.GetHashCode(smethod, StringComparison.OrdinalIgnoreCase); //run the lookup and return not supported if the method was not found - return MethodHashLookup.GetValueOrDefault(hashCode, HttpMethod.NOT_SUPPORTED); + return MethodHashLookup.GetValueOrDefault(hashCode, HttpMethod.None); } /// <summary> /// Compares the first 3 bytes of IPV4 ip address or the first 6 bytes of a IPV6. Can be used to determine if the address is local to another address @@ -431,7 +431,7 @@ namespace VNLib.Net.Http /// </summary> /// <param name="httpVersion">The http header version string</param> /// <returns>The <see cref="HttpVersion"/> enum value, or - /// <see cref="HttpVersion.NotSupported"/> if the version could not be + /// <see cref="HttpVersion.None"/> if the version could not be /// determined /// </returns> public static HttpVersion ParseHttpVersion(ReadOnlySpan<char> httpVersion) @@ -439,7 +439,7 @@ namespace VNLib.Net.Http //Get the hashcode for the http version "string" int hashCode = string.GetHashCode(httpVersion.Trim(), StringComparison.OrdinalIgnoreCase); //return the version that matches the hashcode, or return unsupported of not found - return VersionHashLookup.GetValueOrDefault(hashCode, HttpVersion.NotSupported); + return VersionHashLookup.GetValueOrDefault(hashCode, HttpVersion.None); } } }
\ No newline at end of file diff --git a/Net.Http/src/Helpers/MimeLookups.cs b/lib/Net.Http/src/Helpers/MimeLookups.cs index 03bc59d..03bc59d 100644 --- a/Net.Http/src/Helpers/MimeLookups.cs +++ b/lib/Net.Http/src/Helpers/MimeLookups.cs diff --git a/Net.Http/src/Helpers/TransportReader.cs b/lib/Net.Http/src/Helpers/TransportReader.cs index a37bfe9..a37bfe9 100644 --- a/Net.Http/src/Helpers/TransportReader.cs +++ b/lib/Net.Http/src/Helpers/TransportReader.cs diff --git a/Net.Http/src/Helpers/VnWebHeaderCollection.cs b/lib/Net.Http/src/Helpers/VnWebHeaderCollection.cs index f67e7db..f67e7db 100644 --- a/Net.Http/src/Helpers/VnWebHeaderCollection.cs +++ b/lib/Net.Http/src/Helpers/VnWebHeaderCollection.cs diff --git a/Net.Http/src/Helpers/WebHeaderExtensions.cs b/lib/Net.Http/src/Helpers/WebHeaderExtensions.cs index e51bdd5..e51bdd5 100644 --- a/Net.Http/src/Helpers/WebHeaderExtensions.cs +++ b/lib/Net.Http/src/Helpers/WebHeaderExtensions.cs diff --git a/Net.Http/src/HttpConfig.cs b/lib/Net.Http/src/HttpConfig.cs index 8e73176..8e73176 100644 --- a/Net.Http/src/HttpConfig.cs +++ b/lib/Net.Http/src/HttpConfig.cs diff --git a/Net.Http/src/IAlternateProtocol.cs b/lib/Net.Http/src/IAlternateProtocol.cs index dc7072b..dc7072b 100644 --- a/Net.Http/src/IAlternateProtocol.cs +++ b/lib/Net.Http/src/IAlternateProtocol.cs diff --git a/Net.Http/src/IConnectionInfo.cs b/lib/Net.Http/src/IConnectionInfo.cs index 17ee16f..17ee16f 100644 --- a/Net.Http/src/IConnectionInfo.cs +++ b/lib/Net.Http/src/IConnectionInfo.cs diff --git a/Net.Http/src/IHeaderCollection.cs b/lib/Net.Http/src/IHeaderCollection.cs index f7f147a..f7f147a 100644 --- a/Net.Http/src/IHeaderCollection.cs +++ b/lib/Net.Http/src/IHeaderCollection.cs diff --git a/Net.Http/src/IMemoryResponseEntity.cs b/lib/Net.Http/src/IMemoryResponseEntity.cs index aa77f58..aa77f58 100644 --- a/Net.Http/src/IMemoryResponseEntity.cs +++ b/lib/Net.Http/src/IMemoryResponseEntity.cs diff --git a/Net.Http/src/ITransportContext.cs b/lib/Net.Http/src/ITransportContext.cs index bd6ce05..bd6ce05 100644 --- a/Net.Http/src/ITransportContext.cs +++ b/lib/Net.Http/src/ITransportContext.cs diff --git a/Net.Http/src/ITransportProvider.cs b/lib/Net.Http/src/ITransportProvider.cs index 13aae57..13aae57 100644 --- a/Net.Http/src/ITransportProvider.cs +++ b/lib/Net.Http/src/ITransportProvider.cs diff --git a/Net.Http/src/IWebRoot.cs b/lib/Net.Http/src/IWebRoot.cs index 9b1a9c8..9b1a9c8 100644 --- a/Net.Http/src/IWebRoot.cs +++ b/lib/Net.Http/src/IWebRoot.cs diff --git a/Net.Http/src/TransportSecurityInfo.cs b/lib/Net.Http/src/TransportSecurityInfo.cs index 7c7a79c..7c7a79c 100644 --- a/Net.Http/src/TransportSecurityInfo.cs +++ b/lib/Net.Http/src/TransportSecurityInfo.cs diff --git a/Net.Http/src/VNLib.Net.Http.csproj b/lib/Net.Http/src/VNLib.Net.Http.csproj index 30e698c..30e698c 100644 --- a/Net.Http/src/VNLib.Net.Http.csproj +++ b/lib/Net.Http/src/VNLib.Net.Http.csproj diff --git a/Net.Messaging.FBM/LICENSE.txt b/lib/Net.Messaging.FBM/LICENSE.txt index 147bcd6..147bcd6 100644 --- a/Net.Messaging.FBM/LICENSE.txt +++ b/lib/Net.Messaging.FBM/LICENSE.txt diff --git a/Net.Messaging.FBM/README.md b/lib/Net.Messaging.FBM/README.md index aabed75..aabed75 100644 --- a/Net.Messaging.FBM/README.md +++ b/lib/Net.Messaging.FBM/README.md diff --git a/Net.Messaging.FBM/src/Client/ClientExtensions.cs b/lib/Net.Messaging.FBM/src/Client/ClientExtensions.cs index 102b6c9..102b6c9 100644 --- a/Net.Messaging.FBM/src/Client/ClientExtensions.cs +++ b/lib/Net.Messaging.FBM/src/Client/ClientExtensions.cs diff --git a/Net.Messaging.FBM/src/Client/FBMClient.cs b/lib/Net.Messaging.FBM/src/Client/FBMClient.cs index 5353087..db52c03 100644 --- a/Net.Messaging.FBM/src/Client/FBMClient.cs +++ b/lib/Net.Messaging.FBM/src/Client/FBMClient.cs @@ -141,24 +141,24 @@ namespace VNLib.Net.Messaging.FBM.Client /// <summary> /// Asynchronously opens a websocket connection with the specifed remote server /// </summary> - /// <param name="address">The address of the server to connect to</param> - /// <param name="cancellation">A cancellation token</param> + /// <param name="serverUri">The address of the server to connect to</param> + /// <param name="cancellationToken">A cancellation token</param> /// <returns></returns> - public async Task ConnectAsync(Uri address, CancellationToken cancellation = default) + public async Task ConnectAsync(Uri serverUri, CancellationToken cancellationToken = default) { //Uribuilder to send config parameters to the server - UriBuilder urib = new(address); + UriBuilder urib = new(serverUri); urib.Query += $"{REQ_RECV_BUF_QUERY_ARG}={Config.RecvBufferSize}" + $"&{REQ_HEAD_BUF_QUERY_ARG}={Config.MaxHeaderBufferSize}" + $"&{REQ_MAX_MESS_QUERY_ARG}={Config.MaxMessageSize}"; Debug("Connection string {con}", urib.Uri.ToString()); //Connect to server - await ClientSocket.ConnectAsync(urib.Uri, cancellation); + await ClientSocket.ConnectAsync(urib.Uri, cancellationToken); //Reset wait handle before return ConnectionStatusHandle.Reset(); //Begin listeing for requets in a background task - _ = Task.Run(ProcessContinuousRecvAsync, cancellation); + _ = Task.Run(ProcessContinuousRecvAsync, cancellationToken); } /// <summary> diff --git a/Net.Messaging.FBM/src/Client/FBMClientConfig.cs b/lib/Net.Messaging.FBM/src/Client/FBMClientConfig.cs index 229eb76..229eb76 100644 --- a/Net.Messaging.FBM/src/Client/FBMClientConfig.cs +++ b/lib/Net.Messaging.FBM/src/Client/FBMClientConfig.cs diff --git a/Net.Messaging.FBM/src/Client/FBMClientWorkerBase.cs b/lib/Net.Messaging.FBM/src/Client/FBMClientWorkerBase.cs index b4056dc..b4056dc 100644 --- a/Net.Messaging.FBM/src/Client/FBMClientWorkerBase.cs +++ b/lib/Net.Messaging.FBM/src/Client/FBMClientWorkerBase.cs diff --git a/Net.Messaging.FBM/src/Client/FBMRequest.cs b/lib/Net.Messaging.FBM/src/Client/FBMRequest.cs index 9d8af42..f02724a 100644 --- a/Net.Messaging.FBM/src/Client/FBMRequest.cs +++ b/lib/Net.Messaging.FBM/src/Client/FBMRequest.cs @@ -43,7 +43,7 @@ namespace VNLib.Net.Messaging.FBM.Client /// </summary> public sealed class FBMRequest : VnDisposeable, IReusable, IFBMMessage, IStringSerializeable { - private class BufferWriter : IBufferWriter<byte> + private sealed class BufferWriter : IBufferWriter<byte> { private readonly FBMRequest _request; diff --git a/Net.Messaging.FBM/src/Client/FBMResponse.cs b/lib/Net.Messaging.FBM/src/Client/FBMResponse.cs index da36956..da36956 100644 --- a/Net.Messaging.FBM/src/Client/FBMResponse.cs +++ b/lib/Net.Messaging.FBM/src/Client/FBMResponse.cs diff --git a/Net.Messaging.FBM/src/Client/FMBClientErrorEventArgs.cs b/lib/Net.Messaging.FBM/src/Client/FMBClientErrorEventArgs.cs index 96e9414..96e9414 100644 --- a/Net.Messaging.FBM/src/Client/FMBClientErrorEventArgs.cs +++ b/lib/Net.Messaging.FBM/src/Client/FMBClientErrorEventArgs.cs diff --git a/Net.Messaging.FBM/src/Client/HeaderCommand.cs b/lib/Net.Messaging.FBM/src/Client/HeaderCommand.cs index 5a57d85..5a57d85 100644 --- a/Net.Messaging.FBM/src/Client/HeaderCommand.cs +++ b/lib/Net.Messaging.FBM/src/Client/HeaderCommand.cs diff --git a/Net.Messaging.FBM/src/Client/HeaderParseStatus.cs b/lib/Net.Messaging.FBM/src/Client/HeaderParseStatus.cs index d38df26..d38df26 100644 --- a/Net.Messaging.FBM/src/Client/HeaderParseStatus.cs +++ b/lib/Net.Messaging.FBM/src/Client/HeaderParseStatus.cs diff --git a/Net.Messaging.FBM/src/Client/Helpers.cs b/lib/Net.Messaging.FBM/src/Client/Helpers.cs index 8f895fa..8f895fa 100644 --- a/Net.Messaging.FBM/src/Client/Helpers.cs +++ b/lib/Net.Messaging.FBM/src/Client/Helpers.cs diff --git a/Net.Messaging.FBM/src/Client/IFBMMessage.cs b/lib/Net.Messaging.FBM/src/Client/IFBMMessage.cs index 18f19ec..18f19ec 100644 --- a/Net.Messaging.FBM/src/Client/IFBMMessage.cs +++ b/lib/Net.Messaging.FBM/src/Client/IFBMMessage.cs diff --git a/Net.Messaging.FBM/src/Client/IStatefulConnection.cs b/lib/Net.Messaging.FBM/src/Client/IStatefulConnection.cs index 3b9dd3b..3b9dd3b 100644 --- a/Net.Messaging.FBM/src/Client/IStatefulConnection.cs +++ b/lib/Net.Messaging.FBM/src/Client/IStatefulConnection.cs diff --git a/Net.Messaging.FBM/src/Client/ManagedClientWebSocket.cs b/lib/Net.Messaging.FBM/src/Client/ManagedClientWebSocket.cs index acac369..acac369 100644 --- a/Net.Messaging.FBM/src/Client/ManagedClientWebSocket.cs +++ b/lib/Net.Messaging.FBM/src/Client/ManagedClientWebSocket.cs diff --git a/Net.Messaging.FBM/src/Client/README.md b/lib/Net.Messaging.FBM/src/Client/README.md index 5aa8e76..5aa8e76 100644 --- a/Net.Messaging.FBM/src/Client/README.md +++ b/lib/Net.Messaging.FBM/src/Client/README.md diff --git a/Net.Messaging.FBM/src/Exceptions/FBMException.cs b/lib/Net.Messaging.FBM/src/Exceptions/FBMException.cs index 1d5c7db..1d5c7db 100644 --- a/Net.Messaging.FBM/src/Exceptions/FBMException.cs +++ b/lib/Net.Messaging.FBM/src/Exceptions/FBMException.cs diff --git a/Net.Messaging.FBM/src/Exceptions/FBMInvalidRequestException.cs b/lib/Net.Messaging.FBM/src/Exceptions/FBMInvalidRequestException.cs index ae42797..ae42797 100644 --- a/Net.Messaging.FBM/src/Exceptions/FBMInvalidRequestException.cs +++ b/lib/Net.Messaging.FBM/src/Exceptions/FBMInvalidRequestException.cs diff --git a/Net.Messaging.FBM/src/Exceptions/InvalidResponseException.cs b/lib/Net.Messaging.FBM/src/Exceptions/InvalidResponseException.cs index 3f0b970..3f0b970 100644 --- a/Net.Messaging.FBM/src/Exceptions/InvalidResponseException.cs +++ b/lib/Net.Messaging.FBM/src/Exceptions/InvalidResponseException.cs diff --git a/Net.Messaging.FBM/src/Server/FBMContext.cs b/lib/Net.Messaging.FBM/src/Server/FBMContext.cs index fb39d1b..fb39d1b 100644 --- a/Net.Messaging.FBM/src/Server/FBMContext.cs +++ b/lib/Net.Messaging.FBM/src/Server/FBMContext.cs diff --git a/Net.Messaging.FBM/src/Server/FBMListener.cs b/lib/Net.Messaging.FBM/src/Server/FBMListener.cs index 1d50953..6cca2a9 100644 --- a/Net.Messaging.FBM/src/Server/FBMListener.cs +++ b/lib/Net.Messaging.FBM/src/Server/FBMListener.cs @@ -29,7 +29,6 @@ using System.Threading; using System.Net.WebSockets; using System.Threading.Tasks; -using VNLib.Utils; using VNLib.Utils.IO; using VNLib.Utils.Async; using VNLib.Utils.Memory; @@ -56,7 +55,7 @@ namespace VNLib.Net.Messaging.FBM.Server /// </summary> public class FBMListener { - class ListeningSession + private sealed class ListeningSession { private readonly ReusableStore<FBMContext> CtxStore; private readonly CancellationTokenSource Cancellation; @@ -304,7 +303,7 @@ namespace VNLib.Net.Messaging.FBM.Server //Check parse status flags if ((context.Request.ParseStatus & HeaderParseError.HeaderOutOfMem) > 0) { - OnProcessError?.Invoke(this, new OutOfMemoryException("Packet received with not enough space to store headers")); + OnProcessError?.Invoke(this, new FBMException("Packet received with not enough space to store headers")); } //Determine if request is an out-of-band message else if (context.Request.MessageId == Helpers.CONTROL_FRAME_MID) diff --git a/Net.Messaging.FBM/src/Server/FBMListenerBase.cs b/lib/Net.Messaging.FBM/src/Server/FBMListenerBase.cs index 3e9fde2..3e9fde2 100644 --- a/Net.Messaging.FBM/src/Server/FBMListenerBase.cs +++ b/lib/Net.Messaging.FBM/src/Server/FBMListenerBase.cs diff --git a/Net.Messaging.FBM/src/Server/FBMListenerSessionParams.cs b/lib/Net.Messaging.FBM/src/Server/FBMListenerSessionParams.cs index c327475..c327475 100644 --- a/Net.Messaging.FBM/src/Server/FBMListenerSessionParams.cs +++ b/lib/Net.Messaging.FBM/src/Server/FBMListenerSessionParams.cs diff --git a/Net.Messaging.FBM/src/Server/FBMRequestMessage.cs b/lib/Net.Messaging.FBM/src/Server/FBMRequestMessage.cs index ed36571..ed36571 100644 --- a/Net.Messaging.FBM/src/Server/FBMRequestMessage.cs +++ b/lib/Net.Messaging.FBM/src/Server/FBMRequestMessage.cs diff --git a/Net.Messaging.FBM/src/Server/FBMResponseMessage.cs b/lib/Net.Messaging.FBM/src/Server/FBMResponseMessage.cs index 1536c99..ac34dda 100644 --- a/Net.Messaging.FBM/src/Server/FBMResponseMessage.cs +++ b/lib/Net.Messaging.FBM/src/Server/FBMResponseMessage.cs @@ -154,7 +154,7 @@ namespace VNLib.Net.Messaging.FBM.Server return _messageEnumerator; } - private class MessageSegmentEnumerator : IAsyncMessageReader + private sealed class MessageSegmentEnumerator : IAsyncMessageReader { private readonly FBMResponseMessage _message; diff --git a/Net.Messaging.FBM/src/Server/HeaderDataAccumulator.cs b/lib/Net.Messaging.FBM/src/Server/HeaderDataAccumulator.cs index 78b378d..423a26e 100644 --- a/Net.Messaging.FBM/src/Server/HeaderDataAccumulator.cs +++ b/lib/Net.Messaging.FBM/src/Server/HeaderDataAccumulator.cs @@ -33,7 +33,7 @@ namespace VNLib.Net.Messaging.FBM.Server /// <summary> /// Reusable sliding window impl /// </summary> - internal class HeaderDataAccumulator : ISlindingWindowBuffer<byte> + internal sealed class HeaderDataAccumulator : ISlindingWindowBuffer<byte> { private readonly int BufferSize; diff --git a/Net.Messaging.FBM/src/Server/IAsyncMessageBody.cs b/lib/Net.Messaging.FBM/src/Server/IAsyncMessageBody.cs index 5566520..5566520 100644 --- a/Net.Messaging.FBM/src/Server/IAsyncMessageBody.cs +++ b/lib/Net.Messaging.FBM/src/Server/IAsyncMessageBody.cs diff --git a/Net.Messaging.FBM/src/Server/IAsyncMessageReader.cs b/lib/Net.Messaging.FBM/src/Server/IAsyncMessageReader.cs index b2abe8d..b2abe8d 100644 --- a/Net.Messaging.FBM/src/Server/IAsyncMessageReader.cs +++ b/lib/Net.Messaging.FBM/src/Server/IAsyncMessageReader.cs diff --git a/Net.Messaging.FBM/src/Server/readme.md b/lib/Net.Messaging.FBM/src/Server/readme.md index 489e58f..489e58f 100644 --- a/Net.Messaging.FBM/src/Server/readme.md +++ b/lib/Net.Messaging.FBM/src/Server/readme.md diff --git a/Net.Messaging.FBM/src/VNLib.Net.Messaging.FBM.csproj b/lib/Net.Messaging.FBM/src/VNLib.Net.Messaging.FBM.csproj index 9440e69..d91fb0a 100644 --- a/Net.Messaging.FBM/src/VNLib.Net.Messaging.FBM.csproj +++ b/lib/Net.Messaging.FBM/src/VNLib.Net.Messaging.FBM.csproj @@ -25,8 +25,8 @@ </ItemGroup> <ItemGroup> - <ProjectReference Include="..\..\Essentials\src\VNLib.Plugins.Essentials.csproj" /> - <ProjectReference Include="..\..\Http\src\VNLib.Net.Http.csproj" /> + <ProjectReference Include="..\..\Net.Http\src\VNLib.Net.Http.csproj" /> + <ProjectReference Include="..\..\Plugins.Essentials\src\VNLib.Plugins.Essentials.csproj" /> <ProjectReference Include="..\..\Utils\src\VNLib.Utils.csproj" /> </ItemGroup> diff --git a/Net.Transport.SimpleTCP/LICENSE.txt b/lib/Net.Transport.SimpleTCP/LICENSE.txt index 147bcd6..147bcd6 100644 --- a/Net.Transport.SimpleTCP/LICENSE.txt +++ b/lib/Net.Transport.SimpleTCP/LICENSE.txt diff --git a/Net.Transport.SimpleTCP/README.md b/lib/Net.Transport.SimpleTCP/README.md index 2db8775..2db8775 100644 --- a/Net.Transport.SimpleTCP/README.md +++ b/lib/Net.Transport.SimpleTCP/README.md diff --git a/Net.Transport.SimpleTCP/src/ITransportInterface.cs b/lib/Net.Transport.SimpleTCP/src/ITransportInterface.cs index 7d21995..7d21995 100644 --- a/Net.Transport.SimpleTCP/src/ITransportInterface.cs +++ b/lib/Net.Transport.SimpleTCP/src/ITransportInterface.cs diff --git a/Net.Transport.SimpleTCP/src/ReusableNetworkStream.cs b/lib/Net.Transport.SimpleTCP/src/ReusableNetworkStream.cs index 510419c..f4a5491 100644 --- a/Net.Transport.SimpleTCP/src/ReusableNetworkStream.cs +++ b/lib/Net.Transport.SimpleTCP/src/ReusableNetworkStream.cs @@ -45,7 +45,7 @@ namespace VNLib.Net.Transport.Tcp /// <summary> /// A reusable stream that marshals data between the socket pipeline and the application /// </summary> - internal class ReusableNetworkStream : Stream + internal sealed class ReusableNetworkStream : Stream { #region stream basics public override bool CanRead => true; @@ -62,28 +62,16 @@ namespace VNLib.Net.Transport.Tcp public override int ReadTimeout { get => Transport.RecvTimeoutMs; - set - { - if (value < 0) - { - throw new ArgumentException("Write timeout must be a 32bit signed integer larger than 0"); - } - Transport.RecvTimeoutMs = value; - } + //Allow -1 to set to infinite timeout + set => Transport.RecvTimeoutMs = value > -2 ? value : throw new ArgumentException("Write timeout must be a 32bit signed integer larger than 0"); } // Write timeout is not currently used, becasue the writer managed socket timeouts public override int WriteTimeout { get => Transport.SendTimeoutMs; - set - { - if(value < 0) - { - throw new ArgumentException("Write timeout must be a 32bit signed integer larger than 0"); - } - Transport.SendTimeoutMs = value; - } + //Allow -1 to set to infinite timeout + set => Transport.SendTimeoutMs = value > -2 ? value : throw new ArgumentException("Write timeout must be a 32bit signed integer larger than -1"); } //Timer used to cancel pipeline recv timeouts @@ -98,22 +86,15 @@ namespace VNLib.Net.Transport.Tcp public override void Close() { } ///<inheritdoc/> - public override Task FlushAsync(CancellationToken cancellationToken) - { - return Task.CompletedTask; - } + public override Task FlushAsync(CancellationToken cancellationToken) => Task.CompletedTask; ///<inheritdoc/> public override void Flush() - { - } + { } ///<inheritdoc/> public override int Read(byte[] buffer, int offset, int count) => Read(buffer.AsSpan(offset, count)); ///<inheritdoc/> - public override int Read(Span<byte> buffer) - { - return Transport.Recv(buffer); - } + public override int Read(Span<byte> buffer) => Transport.Recv(buffer); ///<inheritdoc/> public override Task<int> ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) @@ -126,7 +107,6 @@ namespace VNLib.Net.Transport.Tcp { return Transport.RecvAsync(buffer, cancellationToken); } - ///<inheritdoc/> public override void Write(byte[] buffer, int offset, int count) => Write(buffer.AsSpan(offset, count)); diff --git a/Net.Transport.SimpleTCP/src/SocketPipeLineWorker.cs b/lib/Net.Transport.SimpleTCP/src/SocketPipeLineWorker.cs index 89c46e1..89c46e1 100644 --- a/Net.Transport.SimpleTCP/src/SocketPipeLineWorker.cs +++ b/lib/Net.Transport.SimpleTCP/src/SocketPipeLineWorker.cs diff --git a/Net.Transport.SimpleTCP/src/TCPConfig.cs b/lib/Net.Transport.SimpleTCP/src/TCPConfig.cs index 6955e63..6955e63 100644 --- a/Net.Transport.SimpleTCP/src/TCPConfig.cs +++ b/lib/Net.Transport.SimpleTCP/src/TCPConfig.cs diff --git a/Net.Transport.SimpleTCP/src/TcpServer.cs b/lib/Net.Transport.SimpleTCP/src/TcpServer.cs index fc0bcc5..fc0bcc5 100644 --- a/Net.Transport.SimpleTCP/src/TcpServer.cs +++ b/lib/Net.Transport.SimpleTCP/src/TcpServer.cs diff --git a/Net.Transport.SimpleTCP/src/TransportEventContext.cs b/lib/Net.Transport.SimpleTCP/src/TransportEventContext.cs index fc04d0c..fc04d0c 100644 --- a/Net.Transport.SimpleTCP/src/TransportEventContext.cs +++ b/lib/Net.Transport.SimpleTCP/src/TransportEventContext.cs diff --git a/Net.Transport.SimpleTCP/src/VNLib.Net.Transport.SimpleTCP.csproj b/lib/Net.Transport.SimpleTCP/src/VNLib.Net.Transport.SimpleTCP.csproj index 7a476da..7a476da 100644 --- a/Net.Transport.SimpleTCP/src/VNLib.Net.Transport.SimpleTCP.csproj +++ b/lib/Net.Transport.SimpleTCP/src/VNLib.Net.Transport.SimpleTCP.csproj diff --git a/Net.Transport.SimpleTCP/src/VnSocketAsyncArgs.cs b/lib/Net.Transport.SimpleTCP/src/VnSocketAsyncArgs.cs index 9f37762..9f37762 100644 --- a/Net.Transport.SimpleTCP/src/VnSocketAsyncArgs.cs +++ b/lib/Net.Transport.SimpleTCP/src/VnSocketAsyncArgs.cs diff --git a/Plugins.Essentials.ServiceStack/LICENSE.txt b/lib/Plugins.Essentials.ServiceStack/LICENSE.txt index 147bcd6..147bcd6 100644 --- a/Plugins.Essentials.ServiceStack/LICENSE.txt +++ b/lib/Plugins.Essentials.ServiceStack/LICENSE.txt diff --git a/Plugins.Essentials.ServiceStack/README.md b/lib/Plugins.Essentials.ServiceStack/README.md index a477635..a477635 100644 --- a/Plugins.Essentials.ServiceStack/README.md +++ b/lib/Plugins.Essentials.ServiceStack/README.md diff --git a/Plugins.Essentials.ServiceStack/src/HttpServiceStack.cs b/lib/Plugins.Essentials.ServiceStack/src/HttpServiceStack.cs index 5800955..5800955 100644 --- a/Plugins.Essentials.ServiceStack/src/HttpServiceStack.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/HttpServiceStack.cs diff --git a/Plugins.Essentials.ServiceStack/src/HttpServiceStackBuilder.cs b/lib/Plugins.Essentials.ServiceStack/src/HttpServiceStackBuilder.cs index bb6e96f..bb6e96f 100644 --- a/Plugins.Essentials.ServiceStack/src/HttpServiceStackBuilder.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/HttpServiceStackBuilder.cs diff --git a/Plugins.Essentials.ServiceStack/src/IHostTransportInfo.cs b/lib/Plugins.Essentials.ServiceStack/src/IHostTransportInfo.cs index fada93c..5c663a9 100644 --- a/Plugins.Essentials.ServiceStack/src/IHostTransportInfo.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/IHostTransportInfo.cs @@ -22,8 +22,8 @@ * along with this program. If not, see https://www.gnu.org/licenses/. */ -using System.Security.Cryptography.X509Certificates; using System.Net; +using System.Security.Cryptography.X509Certificates; namespace VNLib.Plugins.Essentials.ServiceStack { diff --git a/Plugins.Essentials.ServiceStack/src/IPluginController.cs b/lib/Plugins.Essentials.ServiceStack/src/IPluginController.cs index 0871fdc..0871fdc 100644 --- a/Plugins.Essentials.ServiceStack/src/IPluginController.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/IPluginController.cs diff --git a/Plugins.Essentials.ServiceStack/src/IServiceHost.cs b/lib/Plugins.Essentials.ServiceStack/src/IServiceHost.cs index 0c8d6c1..0c8d6c1 100644 --- a/Plugins.Essentials.ServiceStack/src/IServiceHost.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/IServiceHost.cs diff --git a/Plugins.Essentials.ServiceStack/src/ServiceDomain.cs b/lib/Plugins.Essentials.ServiceStack/src/ServiceDomain.cs index c52050a..0d3d83d 100644 --- a/Plugins.Essentials.ServiceStack/src/ServiceDomain.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/ServiceDomain.cs @@ -105,7 +105,7 @@ namespace VNLib.Plugins.Essentials.ServiceStack private static void CreateServiceGroups(ICollection<ServiceGroup> groups, IEnumerable<IServiceHost> hosts) { //Get distinct interfaces - IEnumerable<IPEndPoint> interfaces = hosts.Select(static s => s.TransportInfo.TransportEndpoint).Distinct(); + IPEndPoint[] interfaces = hosts.Select(static s => s.TransportInfo.TransportEndpoint).Distinct().ToArray(); //Select hosts of the same interface to create a group from foreach (IPEndPoint iface in interfaces) diff --git a/Plugins.Essentials.ServiceStack/src/ServiceGroup.cs b/lib/Plugins.Essentials.ServiceStack/src/ServiceGroup.cs index f57a6f9..f57a6f9 100644 --- a/Plugins.Essentials.ServiceStack/src/ServiceGroup.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/ServiceGroup.cs diff --git a/Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj b/lib/Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj index a604ce9..6f93d5d 100644 --- a/Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj +++ b/lib/Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj @@ -31,10 +31,10 @@ </ItemGroup> <ItemGroup> - <ProjectReference Include="..\..\Essentials\src\VNLib.Plugins.Essentials.csproj" /> - <ProjectReference Include="..\..\Http\src\VNLib.Net.Http.csproj" /> + <ProjectReference Include="..\..\Net.Http\src\VNLib.Net.Http.csproj" /> + <ProjectReference Include="..\..\Plugins.Essentials\src\VNLib.Plugins.Essentials.csproj" /> + <ProjectReference Include="..\..\Plugins.Runtime\src\VNLib.Plugins.Runtime.csproj" /> <ProjectReference Include="..\..\Utils\src\VNLib.Utils.csproj" /> - <ProjectReference Include="..\..\VNLib.Plugins.Runtime\src\VNLib.Plugins.Runtime.csproj" /> </ItemGroup> </Project> diff --git a/Plugins.Essentials/LICENSE.txt b/lib/Plugins.Essentials/LICENSE.txt index 147bcd6..147bcd6 100644 --- a/Plugins.Essentials/LICENSE.txt +++ b/lib/Plugins.Essentials/LICENSE.txt diff --git a/Plugins.Essentials/README.md b/lib/Plugins.Essentials/README.md index 2399b61..2399b61 100644 --- a/Plugins.Essentials/README.md +++ b/lib/Plugins.Essentials/README.md diff --git a/Plugins.Essentials/src/Accounts/AccountData.cs b/lib/Plugins.Essentials/src/Accounts/AccountData.cs index d4a4d12..d4a4d12 100644 --- a/Plugins.Essentials/src/Accounts/AccountData.cs +++ b/lib/Plugins.Essentials/src/Accounts/AccountData.cs diff --git a/Plugins.Essentials/src/Accounts/AccountManager.cs b/lib/Plugins.Essentials/src/Accounts/AccountManager.cs index f148fdb..f148fdb 100644 --- a/Plugins.Essentials/src/Accounts/AccountManager.cs +++ b/lib/Plugins.Essentials/src/Accounts/AccountManager.cs diff --git a/Plugins.Essentials/src/Accounts/INonce.cs b/lib/Plugins.Essentials/src/Accounts/INonce.cs index 7d53183..7d53183 100644 --- a/Plugins.Essentials/src/Accounts/INonce.cs +++ b/lib/Plugins.Essentials/src/Accounts/INonce.cs diff --git a/Plugins.Essentials/src/Accounts/LoginMessage.cs b/lib/Plugins.Essentials/src/Accounts/LoginMessage.cs index ebc616e..ebc616e 100644 --- a/Plugins.Essentials/src/Accounts/LoginMessage.cs +++ b/lib/Plugins.Essentials/src/Accounts/LoginMessage.cs diff --git a/Plugins.Essentials/src/Accounts/PasswordHashing.cs b/lib/Plugins.Essentials/src/Accounts/PasswordHashing.cs index 1c3770b..1c3770b 100644 --- a/Plugins.Essentials/src/Accounts/PasswordHashing.cs +++ b/lib/Plugins.Essentials/src/Accounts/PasswordHashing.cs diff --git a/Plugins.Essentials/src/Content/IPageRouter.cs b/lib/Plugins.Essentials/src/Content/IPageRouter.cs index e6952f4..e6952f4 100644 --- a/Plugins.Essentials/src/Content/IPageRouter.cs +++ b/lib/Plugins.Essentials/src/Content/IPageRouter.cs diff --git a/Plugins.Essentials/src/Endpoints/ProtectedWebEndpoint.cs b/lib/Plugins.Essentials/src/Endpoints/ProtectedWebEndpoint.cs index bced960..bced960 100644 --- a/Plugins.Essentials/src/Endpoints/ProtectedWebEndpoint.cs +++ b/lib/Plugins.Essentials/src/Endpoints/ProtectedWebEndpoint.cs diff --git a/Plugins.Essentials/src/Endpoints/ProtectionSettings.cs b/lib/Plugins.Essentials/src/Endpoints/ProtectionSettings.cs index 77620ac..77620ac 100644 --- a/Plugins.Essentials/src/Endpoints/ProtectionSettings.cs +++ b/lib/Plugins.Essentials/src/Endpoints/ProtectionSettings.cs diff --git a/Plugins.Essentials/src/Endpoints/ResourceEndpointBase.cs b/lib/Plugins.Essentials/src/Endpoints/ResourceEndpointBase.cs index 4af3c30..4af3c30 100644 --- a/Plugins.Essentials/src/Endpoints/ResourceEndpointBase.cs +++ b/lib/Plugins.Essentials/src/Endpoints/ResourceEndpointBase.cs diff --git a/Plugins.Essentials/src/Endpoints/UnprotectedWebEndpoint.cs b/lib/Plugins.Essentials/src/Endpoints/UnprotectedWebEndpoint.cs index cc923c7..cc923c7 100644 --- a/Plugins.Essentials/src/Endpoints/UnprotectedWebEndpoint.cs +++ b/lib/Plugins.Essentials/src/Endpoints/UnprotectedWebEndpoint.cs diff --git a/Plugins.Essentials/src/Endpoints/VirtualEndpoint.cs b/lib/Plugins.Essentials/src/Endpoints/VirtualEndpoint.cs index 5beb4b9..5beb4b9 100644 --- a/Plugins.Essentials/src/Endpoints/VirtualEndpoint.cs +++ b/lib/Plugins.Essentials/src/Endpoints/VirtualEndpoint.cs diff --git a/Plugins.Essentials/src/EventProcessor.cs b/lib/Plugins.Essentials/src/EventProcessor.cs index 826ed00..4f51907 100644 --- a/Plugins.Essentials/src/EventProcessor.cs +++ b/lib/Plugins.Essentials/src/EventProcessor.cs @@ -31,7 +31,6 @@ using System.Net.Sockets; using System.Threading.Tasks; using System.Collections.Generic; -using VNLib.Net; using VNLib.Net.Http; using VNLib.Utils.IO; using VNLib.Utils.Logging; @@ -172,7 +171,7 @@ namespace VNLib.Plugins.Essentials * Wrapper class for converting IHttpEvent endpoints to * httpEntityEndpoints */ - private class EvEndpointWrapper : IVirtualEndpoint<HttpEntity> + private sealed class EvEndpointWrapper : IVirtualEndpoint<HttpEntity> { private readonly IVirtualEndpoint<IHttpEvent> _wrapped; public EvEndpointWrapper(IVirtualEndpoint<IHttpEvent> wrapping) => _wrapped = wrapping; diff --git a/Plugins.Essentials/src/Extensions/CollectionsExtensions.cs b/lib/Plugins.Essentials/src/Extensions/CollectionsExtensions.cs index 9500d5e..9500d5e 100644 --- a/Plugins.Essentials/src/Extensions/CollectionsExtensions.cs +++ b/lib/Plugins.Essentials/src/Extensions/CollectionsExtensions.cs diff --git a/Plugins.Essentials/src/Extensions/ConnectionInfoExtensions.cs b/lib/Plugins.Essentials/src/Extensions/ConnectionInfoExtensions.cs index ba01132..ba01132 100644 --- a/Plugins.Essentials/src/Extensions/ConnectionInfoExtensions.cs +++ b/lib/Plugins.Essentials/src/Extensions/ConnectionInfoExtensions.cs diff --git a/Plugins.Essentials/src/Extensions/EssentialHttpEventExtensions.cs b/lib/Plugins.Essentials/src/Extensions/EssentialHttpEventExtensions.cs index 9458487..9458487 100644 --- a/Plugins.Essentials/src/Extensions/EssentialHttpEventExtensions.cs +++ b/lib/Plugins.Essentials/src/Extensions/EssentialHttpEventExtensions.cs diff --git a/Plugins.Essentials/src/Extensions/IJsonSerializerBuffer.cs b/lib/Plugins.Essentials/src/Extensions/IJsonSerializerBuffer.cs index 34811f4..34811f4 100644 --- a/Plugins.Essentials/src/Extensions/IJsonSerializerBuffer.cs +++ b/lib/Plugins.Essentials/src/Extensions/IJsonSerializerBuffer.cs diff --git a/Plugins.Essentials/src/Extensions/InternalSerializerExtensions.cs b/lib/Plugins.Essentials/src/Extensions/InternalSerializerExtensions.cs index 3d441a1..3d441a1 100644 --- a/Plugins.Essentials/src/Extensions/InternalSerializerExtensions.cs +++ b/lib/Plugins.Essentials/src/Extensions/InternalSerializerExtensions.cs diff --git a/Plugins.Essentials/src/Extensions/InvalidJsonRequestException.cs b/lib/Plugins.Essentials/src/Extensions/InvalidJsonRequestException.cs index b2352b2..b2352b2 100644 --- a/Plugins.Essentials/src/Extensions/InvalidJsonRequestException.cs +++ b/lib/Plugins.Essentials/src/Extensions/InvalidJsonRequestException.cs diff --git a/Plugins.Essentials/src/Extensions/JsonResponse.cs b/lib/Plugins.Essentials/src/Extensions/JsonResponse.cs index 22cccd9..22cccd9 100644 --- a/Plugins.Essentials/src/Extensions/JsonResponse.cs +++ b/lib/Plugins.Essentials/src/Extensions/JsonResponse.cs diff --git a/Plugins.Essentials/src/Extensions/RedirectType.cs b/lib/Plugins.Essentials/src/Extensions/RedirectType.cs index eff4d38..eff4d38 100644 --- a/Plugins.Essentials/src/Extensions/RedirectType.cs +++ b/lib/Plugins.Essentials/src/Extensions/RedirectType.cs diff --git a/Plugins.Essentials/src/Extensions/SimpleMemoryResponse.cs b/lib/Plugins.Essentials/src/Extensions/SimpleMemoryResponse.cs index a0f2b17..a0f2b17 100644 --- a/Plugins.Essentials/src/Extensions/SimpleMemoryResponse.cs +++ b/lib/Plugins.Essentials/src/Extensions/SimpleMemoryResponse.cs diff --git a/Plugins.Essentials/src/Extensions/UserExtensions.cs b/lib/Plugins.Essentials/src/Extensions/UserExtensions.cs index 9223b1d..9223b1d 100644 --- a/Plugins.Essentials/src/Extensions/UserExtensions.cs +++ b/lib/Plugins.Essentials/src/Extensions/UserExtensions.cs diff --git a/Plugins.Essentials/src/FileProcessArgs.cs b/lib/Plugins.Essentials/src/FileProcessArgs.cs index dae695b..dae695b 100644 --- a/Plugins.Essentials/src/FileProcessArgs.cs +++ b/lib/Plugins.Essentials/src/FileProcessArgs.cs diff --git a/Plugins.Essentials/src/HttpEntity.cs b/lib/Plugins.Essentials/src/HttpEntity.cs index ffad607..ffad607 100644 --- a/Plugins.Essentials/src/HttpEntity.cs +++ b/lib/Plugins.Essentials/src/HttpEntity.cs diff --git a/Plugins.Essentials/src/IEpProcessingOptions.cs b/lib/Plugins.Essentials/src/IEpProcessingOptions.cs index de79327..de79327 100644 --- a/Plugins.Essentials/src/IEpProcessingOptions.cs +++ b/lib/Plugins.Essentials/src/IEpProcessingOptions.cs diff --git a/Plugins.Essentials/src/Oauth/IOAuth2Provider.cs b/lib/Plugins.Essentials/src/Oauth/IOAuth2Provider.cs index 30944b8..30944b8 100644 --- a/Plugins.Essentials/src/Oauth/IOAuth2Provider.cs +++ b/lib/Plugins.Essentials/src/Oauth/IOAuth2Provider.cs diff --git a/Plugins.Essentials/src/Oauth/O2EndpointBase.cs b/lib/Plugins.Essentials/src/Oauth/O2EndpointBase.cs index a1a4d35..a1a4d35 100644 --- a/Plugins.Essentials/src/Oauth/O2EndpointBase.cs +++ b/lib/Plugins.Essentials/src/Oauth/O2EndpointBase.cs diff --git a/Plugins.Essentials/src/Oauth/OauthHttpExtensions.cs b/lib/Plugins.Essentials/src/Oauth/OauthHttpExtensions.cs index 892a24c..892a24c 100644 --- a/Plugins.Essentials/src/Oauth/OauthHttpExtensions.cs +++ b/lib/Plugins.Essentials/src/Oauth/OauthHttpExtensions.cs diff --git a/Plugins.Essentials/src/Oauth/OauthSessionCacheExhaustedException.cs b/lib/Plugins.Essentials/src/Oauth/OauthSessionCacheExhaustedException.cs index da91444..da91444 100644 --- a/Plugins.Essentials/src/Oauth/OauthSessionCacheExhaustedException.cs +++ b/lib/Plugins.Essentials/src/Oauth/OauthSessionCacheExhaustedException.cs diff --git a/Plugins.Essentials/src/Oauth/OauthSessionExtensions.cs b/lib/Plugins.Essentials/src/Oauth/OauthSessionExtensions.cs index 6f9d275..6f9d275 100644 --- a/Plugins.Essentials/src/Oauth/OauthSessionExtensions.cs +++ b/lib/Plugins.Essentials/src/Oauth/OauthSessionExtensions.cs diff --git a/Plugins.Essentials/src/Sessions/ISession.cs b/lib/Plugins.Essentials/src/Sessions/ISession.cs index e15c6e2..e15c6e2 100644 --- a/Plugins.Essentials/src/Sessions/ISession.cs +++ b/lib/Plugins.Essentials/src/Sessions/ISession.cs diff --git a/Plugins.Essentials/src/Sessions/ISessionExtensions.cs b/lib/Plugins.Essentials/src/Sessions/ISessionExtensions.cs index 44063f9..44063f9 100644 --- a/Plugins.Essentials/src/Sessions/ISessionExtensions.cs +++ b/lib/Plugins.Essentials/src/Sessions/ISessionExtensions.cs diff --git a/Plugins.Essentials/src/Sessions/ISessionProvider.cs b/lib/Plugins.Essentials/src/Sessions/ISessionProvider.cs index fe7e7ce..fe7e7ce 100644 --- a/Plugins.Essentials/src/Sessions/ISessionProvider.cs +++ b/lib/Plugins.Essentials/src/Sessions/ISessionProvider.cs diff --git a/Plugins.Essentials/src/Sessions/SessionBase.cs b/lib/Plugins.Essentials/src/Sessions/SessionBase.cs index d386b8b..d386b8b 100644 --- a/Plugins.Essentials/src/Sessions/SessionBase.cs +++ b/lib/Plugins.Essentials/src/Sessions/SessionBase.cs diff --git a/Plugins.Essentials/src/Sessions/SessionCacheLimitException.cs b/lib/Plugins.Essentials/src/Sessions/SessionCacheLimitException.cs index ffa4d9a..e2bc01b 100644 --- a/Plugins.Essentials/src/Sessions/SessionCacheLimitException.cs +++ b/lib/Plugins.Essentials/src/Sessions/SessionCacheLimitException.cs @@ -29,7 +29,7 @@ namespace VNLib.Plugins.Essentials.Sessions /// <summary> /// Raised when the maximum number of cache entires has been reached, and the new session cannot be processed /// </summary> - internal class SessionCacheLimitException : SessionException + public class SessionCacheLimitException : SessionException { public SessionCacheLimitException(string message) : base(message) {} diff --git a/Plugins.Essentials/src/Sessions/SessionException.cs b/lib/Plugins.Essentials/src/Sessions/SessionException.cs index 554c55f..554c55f 100644 --- a/Plugins.Essentials/src/Sessions/SessionException.cs +++ b/lib/Plugins.Essentials/src/Sessions/SessionException.cs diff --git a/Plugins.Essentials/src/Sessions/SessionHandle.cs b/lib/Plugins.Essentials/src/Sessions/SessionHandle.cs index 15c2743..15c2743 100644 --- a/Plugins.Essentials/src/Sessions/SessionHandle.cs +++ b/lib/Plugins.Essentials/src/Sessions/SessionHandle.cs diff --git a/Plugins.Essentials/src/Sessions/SessionInfo.cs b/lib/Plugins.Essentials/src/Sessions/SessionInfo.cs index 13e2a84..13e2a84 100644 --- a/Plugins.Essentials/src/Sessions/SessionInfo.cs +++ b/lib/Plugins.Essentials/src/Sessions/SessionInfo.cs diff --git a/Plugins.Essentials/src/Statics.cs b/lib/Plugins.Essentials/src/Statics.cs index 58b5dd7..58b5dd7 100644 --- a/Plugins.Essentials/src/Statics.cs +++ b/lib/Plugins.Essentials/src/Statics.cs diff --git a/Plugins.Essentials/src/TimestampedCounter.cs b/lib/Plugins.Essentials/src/TimestampedCounter.cs index 19cb8ec..19cb8ec 100644 --- a/Plugins.Essentials/src/TimestampedCounter.cs +++ b/lib/Plugins.Essentials/src/TimestampedCounter.cs diff --git a/Plugins.Essentials/src/Users/IUser.cs b/lib/Plugins.Essentials/src/Users/IUser.cs index 28c5305..28c5305 100644 --- a/Plugins.Essentials/src/Users/IUser.cs +++ b/lib/Plugins.Essentials/src/Users/IUser.cs diff --git a/Plugins.Essentials/src/Users/IUserManager.cs b/lib/Plugins.Essentials/src/Users/IUserManager.cs index dd521e4..dd521e4 100644 --- a/Plugins.Essentials/src/Users/IUserManager.cs +++ b/lib/Plugins.Essentials/src/Users/IUserManager.cs diff --git a/Plugins.Essentials/src/Users/UserCreationFailedException.cs b/lib/Plugins.Essentials/src/Users/UserCreationFailedException.cs index 9f509ac..9f509ac 100644 --- a/Plugins.Essentials/src/Users/UserCreationFailedException.cs +++ b/lib/Plugins.Essentials/src/Users/UserCreationFailedException.cs diff --git a/Plugins.Essentials/src/Users/UserDeleteException.cs b/lib/Plugins.Essentials/src/Users/UserDeleteException.cs index cd26543..cd26543 100644 --- a/Plugins.Essentials/src/Users/UserDeleteException.cs +++ b/lib/Plugins.Essentials/src/Users/UserDeleteException.cs diff --git a/Plugins.Essentials/src/Users/UserExistsException.cs b/lib/Plugins.Essentials/src/Users/UserExistsException.cs index 5c63547..5c63547 100644 --- a/Plugins.Essentials/src/Users/UserExistsException.cs +++ b/lib/Plugins.Essentials/src/Users/UserExistsException.cs diff --git a/Plugins.Essentials/src/Users/UserStatus.cs b/lib/Plugins.Essentials/src/Users/UserStatus.cs index 32aa63d..32aa63d 100644 --- a/Plugins.Essentials/src/Users/UserStatus.cs +++ b/lib/Plugins.Essentials/src/Users/UserStatus.cs diff --git a/Plugins.Essentials/src/Users/UserUpdateException.cs b/lib/Plugins.Essentials/src/Users/UserUpdateException.cs index 391bb05..391bb05 100644 --- a/Plugins.Essentials/src/Users/UserUpdateException.cs +++ b/lib/Plugins.Essentials/src/Users/UserUpdateException.cs diff --git a/Plugins.Essentials/src/VNLib.Plugins.Essentials.csproj b/lib/Plugins.Essentials/src/VNLib.Plugins.Essentials.csproj index b1751bd..710e8af 100644 --- a/Plugins.Essentials/src/VNLib.Plugins.Essentials.csproj +++ b/lib/Plugins.Essentials/src/VNLib.Plugins.Essentials.csproj @@ -44,8 +44,8 @@ </ItemGroup> <ItemGroup> - <ProjectReference Include="..\..\Hashing\src\VNLib.Hashing.Portable.csproj" /> - <ProjectReference Include="..\..\Http\src\VNLib.Net.Http.csproj" /> + <ProjectReference Include="..\..\Hashing.Portable\src\VNLib.Hashing.Portable.csproj" /> + <ProjectReference Include="..\..\Net.Http\src\VNLib.Net.Http.csproj" /> <ProjectReference Include="..\..\Plugins\src\VNLib.Plugins.csproj" /> <ProjectReference Include="..\..\Utils\src\VNLib.Utils.csproj" /> </ItemGroup> diff --git a/Plugins.Essentials/src/WebSocketSession.cs b/lib/Plugins.Essentials/src/WebSocketSession.cs index 106501c..106501c 100644 --- a/Plugins.Essentials/src/WebSocketSession.cs +++ b/lib/Plugins.Essentials/src/WebSocketSession.cs diff --git a/Plugins.Runtime/LICENSE.txt b/lib/Plugins.Runtime/LICENSE.txt index 2848520..2848520 100644 --- a/Plugins.Runtime/LICENSE.txt +++ b/lib/Plugins.Runtime/LICENSE.txt diff --git a/Plugins.Runtime/README.md b/lib/Plugins.Runtime/README.md index 1146c9b..1146c9b 100644 --- a/Plugins.Runtime/README.md +++ b/lib/Plugins.Runtime/README.md diff --git a/Plugins.Runtime/src/LivePlugin.cs b/lib/Plugins.Runtime/src/LivePlugin.cs index 0001990..c0011dd 100644 --- a/Plugins.Runtime/src/LivePlugin.cs +++ b/lib/Plugins.Runtime/src/LivePlugin.cs @@ -60,7 +60,7 @@ namespace VNLib.Plugins.Runtime private readonly Type PluginType; - private ConsoleEventHandler? PluginConsoleHandler; + private ConsoleEventHandlerSignature? PluginConsoleHandler; internal LivePlugin(IPlugin plugin) { @@ -77,7 +77,7 @@ namespace VNLib.Plugins.Runtime select m) .FirstOrDefault(); //Get a delegate handler for the plugin - PluginConsoleHandler = handler?.CreateDelegate<ConsoleEventHandler>(Plugin); + PluginConsoleHandler = handler?.CreateDelegate<ConsoleEventHandlerSignature>(Plugin); } /// <summary> diff --git a/Plugins.Runtime/src/LoaderExtensions.cs b/lib/Plugins.Runtime/src/LoaderExtensions.cs index 795dcf5..795dcf5 100644 --- a/Plugins.Runtime/src/LoaderExtensions.cs +++ b/lib/Plugins.Runtime/src/LoaderExtensions.cs diff --git a/Plugins.Runtime/src/PluginUnloadExcpetion.cs b/lib/Plugins.Runtime/src/PluginUnloadExcpetion.cs index 53f63b2..53f63b2 100644 --- a/Plugins.Runtime/src/PluginUnloadExcpetion.cs +++ b/lib/Plugins.Runtime/src/PluginUnloadExcpetion.cs diff --git a/Plugins.Runtime/src/RuntimePluginLoader.cs b/lib/Plugins.Runtime/src/RuntimePluginLoader.cs index c688f8b..c688f8b 100644 --- a/Plugins.Runtime/src/RuntimePluginLoader.cs +++ b/lib/Plugins.Runtime/src/RuntimePluginLoader.cs diff --git a/Plugins.Runtime/src/VNLib.Plugins.Runtime.csproj b/lib/Plugins.Runtime/src/VNLib.Plugins.Runtime.csproj index d435245..b74b29d 100644 --- a/Plugins.Runtime/src/VNLib.Plugins.Runtime.csproj +++ b/lib/Plugins.Runtime/src/VNLib.Plugins.Runtime.csproj @@ -40,7 +40,7 @@ that export the VNLib.Plugin.IPlugin interface.</Description> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\..\Essentials\src\VNLib.Plugins.Essentials.csproj" /> + <ProjectReference Include="..\..\Plugins.Essentials\src\VNLib.Plugins.Essentials.csproj" /> <ProjectReference Include="..\..\Utils\src\VNLib.Utils.csproj" /> </ItemGroup> diff --git a/Plugins/LICENSE.txt b/lib/Plugins/LICENSE.txt index 2848520..2848520 100644 --- a/Plugins/LICENSE.txt +++ b/lib/Plugins/LICENSE.txt diff --git a/Plugins/README.md b/lib/Plugins/README.md index c08107a..c08107a 100644 --- a/Plugins/README.md +++ b/lib/Plugins/README.md diff --git a/Plugins/src/Attributes/ConfigurationInitalizerAttribute.cs b/lib/Plugins/src/Attributes/ConfigurationInitalizerAttribute.cs index f214d2b..f214d2b 100644 --- a/Plugins/src/Attributes/ConfigurationInitalizerAttribute.cs +++ b/lib/Plugins/src/Attributes/ConfigurationInitalizerAttribute.cs diff --git a/Plugins/src/Attributes/ConsoleEventHandler.cs b/lib/Plugins/src/Attributes/ConsoleEventHandler.cs index f3bd061..ece6e28 100644 --- a/Plugins/src/Attributes/ConsoleEventHandler.cs +++ b/lib/Plugins/src/Attributes/ConsoleEventHandler.cs @@ -36,12 +36,12 @@ namespace VNLib.Plugins.Attributes /// </para> /// </summary> [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)] - public class ConsoleEventHandlerAttribute : Attribute + public sealed class ConsoleEventHandlerAttribute : Attribute {} /// <summary> /// Represents a safe console event delegate method /// </summary> /// <param name="command">The command to be passed to the plugin</param> - public delegate void ConsoleEventHandler(string command); + public delegate void ConsoleEventHandlerSignature(string command); } diff --git a/Plugins/src/Attributes/LogInitializerAttribute.cs b/lib/Plugins/src/Attributes/LogInitializerAttribute.cs index 61264fb..61264fb 100644 --- a/Plugins/src/Attributes/LogInitializerAttribute.cs +++ b/lib/Plugins/src/Attributes/LogInitializerAttribute.cs diff --git a/Plugins/src/IEndpoint.cs b/lib/Plugins/src/IEndpoint.cs index 33d49df..33d49df 100644 --- a/Plugins/src/IEndpoint.cs +++ b/lib/Plugins/src/IEndpoint.cs diff --git a/Plugins/src/IPlugin.cs b/lib/Plugins/src/IPlugin.cs index 16bd403..16bd403 100644 --- a/Plugins/src/IPlugin.cs +++ b/lib/Plugins/src/IPlugin.cs diff --git a/Plugins/src/IVirtualEndpoint.cs b/lib/Plugins/src/IVirtualEndpoint.cs index 5f33c0f..5f33c0f 100644 --- a/Plugins/src/IVirtualEndpoint.cs +++ b/lib/Plugins/src/IVirtualEndpoint.cs diff --git a/Plugins/src/VNLib.Plugins.csproj b/lib/Plugins/src/VNLib.Plugins.csproj index 76d292f..76d292f 100644 --- a/Plugins/src/VNLib.Plugins.csproj +++ b/lib/Plugins/src/VNLib.Plugins.csproj diff --git a/Plugins/src/VfReturnType.cs b/lib/Plugins/src/VfReturnType.cs index 8ebcb26..8ebcb26 100644 --- a/Plugins/src/VfReturnType.cs +++ b/lib/Plugins/src/VfReturnType.cs diff --git a/Plugins/src/WebMessage.cs b/lib/Plugins/src/WebMessage.cs index fb6ca6f..fb6ca6f 100644 --- a/Plugins/src/WebMessage.cs +++ b/lib/Plugins/src/WebMessage.cs diff --git a/Utils/LICENSE.txt b/lib/Utils/LICENSE.txt index cbb3969..cbb3969 100644 --- a/Utils/LICENSE.txt +++ b/lib/Utils/LICENSE.txt diff --git a/Utils/README.md b/lib/Utils/README.md index ddd7e84..ddd7e84 100644 --- a/Utils/README.md +++ b/lib/Utils/README.md diff --git a/Utils/src/Async/AccessSerializer.cs b/lib/Utils/src/Async/AccessSerializer.cs index ce78f6c..ce78f6c 100644 --- a/Utils/src/Async/AccessSerializer.cs +++ b/lib/Utils/src/Async/AccessSerializer.cs diff --git a/Utils/src/Async/AsyncExclusiveResource.cs b/lib/Utils/src/Async/AsyncExclusiveResource.cs index 18e2a42..18e2a42 100644 --- a/Utils/src/Async/AsyncExclusiveResource.cs +++ b/lib/Utils/src/Async/AsyncExclusiveResource.cs diff --git a/Utils/src/Async/AsyncQueue.cs b/lib/Utils/src/Async/AsyncQueue.cs index ba45513..ba45513 100644 --- a/Utils/src/Async/AsyncQueue.cs +++ b/lib/Utils/src/Async/AsyncQueue.cs diff --git a/Utils/src/Async/AsyncUpdatableResource.cs b/lib/Utils/src/Async/AsyncUpdatableResource.cs index b4ce519..b4ce519 100644 --- a/Utils/src/Async/AsyncUpdatableResource.cs +++ b/lib/Utils/src/Async/AsyncUpdatableResource.cs diff --git a/Utils/src/Async/Exceptions/AsyncUpdateException.cs b/lib/Utils/src/Async/Exceptions/AsyncUpdateException.cs index de5a491..de5a491 100644 --- a/Utils/src/Async/Exceptions/AsyncUpdateException.cs +++ b/lib/Utils/src/Async/Exceptions/AsyncUpdateException.cs diff --git a/Utils/src/Async/IAsyncExclusiveResource.cs b/lib/Utils/src/Async/IAsyncExclusiveResource.cs index 93157ce..93157ce 100644 --- a/Utils/src/Async/IAsyncExclusiveResource.cs +++ b/lib/Utils/src/Async/IAsyncExclusiveResource.cs diff --git a/Utils/src/Async/IAsyncWaitHandle.cs b/lib/Utils/src/Async/IAsyncWaitHandle.cs index 1cadc06..1cadc06 100644 --- a/Utils/src/Async/IAsyncWaitHandle.cs +++ b/lib/Utils/src/Async/IAsyncWaitHandle.cs diff --git a/Utils/src/Async/IWaitHandle.cs b/lib/Utils/src/Async/IWaitHandle.cs index 85e8a2a..85e8a2a 100644 --- a/Utils/src/Async/IWaitHandle.cs +++ b/lib/Utils/src/Async/IWaitHandle.cs diff --git a/Utils/src/BitField.cs b/lib/Utils/src/BitField.cs index bc001df..bc001df 100644 --- a/Utils/src/BitField.cs +++ b/lib/Utils/src/BitField.cs diff --git a/Utils/src/ERRNO.cs b/lib/Utils/src/ERRNO.cs index c3c61de..972aa49 100644 --- a/Utils/src/ERRNO.cs +++ b/lib/Utils/src/ERRNO.cs @@ -120,7 +120,7 @@ namespace VNLib.Utils public static bool operator !=(ERRNO err, nint other) => err.ErrorCode != other; public readonly bool Equals(ERRNO other) => ErrorCode == other.ErrorCode; - public readonly override bool Equals(object obj) => obj is ERRNO other && Equals(other); + public readonly override bool Equals(object? obj) => obj is ERRNO other && Equals(other); public readonly override int GetHashCode() => ErrorCode.GetHashCode(); /// <summary> diff --git a/Utils/src/Extensions/CacheExtensions.cs b/lib/Utils/src/Extensions/CacheExtensions.cs index 5485c2d..665e282 100644 --- a/Utils/src/Extensions/CacheExtensions.cs +++ b/lib/Utils/src/Extensions/CacheExtensions.cs @@ -52,6 +52,11 @@ namespace VNLib.Utils.Extensions /// </remarks> public static void StoreRecord<TKey, T>(this IDictionary<TKey, T> store, TKey key, T record) where T : ICacheable { + if (store is null) + { + throw new ArgumentNullException(nameof(store)); + } + T ?oldRecord = default; lock (store) { @@ -123,6 +128,11 @@ namespace VNLib.Utils.Extensions /// </remarks> public static ERRNO TryGetOrEvictRecord<TKey, T>(this IDictionary<TKey, T> store, TKey key, out T? value) where T : ICacheable { + if (store is null) + { + throw new ArgumentNullException(nameof(store)); + } + value = default; //Cache current date time before entering the lock DateTime now = DateTime.UtcNow; @@ -184,6 +194,11 @@ namespace VNLib.Utils.Extensions /// <returns>True if the record was found and evicted</returns> public static bool EvictRecord<TKey, T>(this IDictionary<TKey, T> store, TKey key) where T : ICacheable { + if (store is null) + { + throw new ArgumentNullException(nameof(store)); + } + T? record = default; lock (store) { @@ -217,6 +232,10 @@ namespace VNLib.Utils.Extensions /// <param name="validAfter">A time that specifies the time which expired records should be evicted</param> public static void CollectRecords<TKey, T>(this IDictionary<TKey, T> store, DateTime validAfter) where T : ICacheable { + if (store is null) + { + throw new ArgumentNullException(nameof(store)); + } //Build a query to get the keys that belong to the expired records IEnumerable<KeyValuePair<TKey, T>> expired = store.Where(s => s.Value.Expires < validAfter); //temp list for expired records @@ -247,17 +266,27 @@ namespace VNLib.Utils.Extensions /// </summary> /// <typeparam name="TKey"></typeparam> /// <typeparam name="T"></typeparam> - /// <typeparam name="State"></typeparam> + /// <typeparam name="TState"></typeparam> /// <param name="store"></param> /// <param name="key">The unique key identifying the record</param> /// <param name="state">A user-token type state parameter to pass to the use callback method</param> /// <param name="useCtx">A callback method that will be passed the record to use within an exclusive context</param> - public static void UseRecord<TKey, T, State>(this IDictionary<TKey, T> store, TKey key, State state, Action<T, State> useCtx) where T: ICacheable + public static void UseRecord<TKey, T, TState>(this IDictionary<TKey, T> store, TKey key, TState state, Action<T, TState> useCtx) where T: ICacheable { + if (store is null) + { + throw new ArgumentNullException(nameof(store)); + } + + if (useCtx is null) + { + throw new ArgumentNullException(nameof(useCtx)); + } + lock (store) { //If the record exists - if(store.TryGetValue(key, out T record)) + if(store.TryGetValue(key, out T? record)) { //Use it within the lock statement useCtx(record, state); @@ -274,10 +303,20 @@ namespace VNLib.Utils.Extensions /// <param name="useCtx">A callback method that will be passed the record to use within an exclusive context</param> public static void UseRecord<TKey, T>(this IDictionary<TKey, T> store, TKey key, Action<T> useCtx) where T : ICacheable { + if (store is null) + { + throw new ArgumentNullException(nameof(store)); + } + + if (useCtx is null) + { + throw new ArgumentNullException(nameof(useCtx)); + } + lock (store) { //If the record exists - if (store.TryGetValue(key, out T record)) + if (store.TryGetValue(key, out T? record)) { //Use it within the lock statement useCtx(record); @@ -290,14 +329,24 @@ namespace VNLib.Utils.Extensions /// </summary> /// <typeparam name="TKey"></typeparam> /// <typeparam name="T"></typeparam> - /// <typeparam name="State"></typeparam> + /// <typeparam name="TState"></typeparam> /// <param name="store"></param> /// <param name="key">The unique key identifying the record</param> /// <param name="state">A user-token type state parameter to pass to the use callback method</param> /// <param name="useCtx">A callback method that will be passed the record to use within an exclusive context</param> /// <remarks>If the record is found, but is expired, the record is evicted from the store. The callback is never invoked</remarks> - public static void UseIfValid<TKey, T, State>(this IDictionary<TKey, T> store, TKey key, State state, Action<T, State> useCtx) where T : ICacheable + public static void UseIfValid<TKey, T, TState>(this IDictionary<TKey, T> store, TKey key, TState state, Action<T, TState> useCtx) where T : ICacheable { + if (store is null) + { + throw new ArgumentNullException(nameof(store)); + } + + if (useCtx is null) + { + throw new ArgumentNullException(nameof(useCtx)); + } + DateTime now = DateTime.UtcNow; T? record; lock (store) @@ -327,6 +376,16 @@ namespace VNLib.Utils.Extensions /// <remarks>If the record is found, but is expired, the record is evicted from the store. The callback is never invoked</remarks> public static void UseIfValid<TKey, T>(this IDictionary<TKey, T> store, TKey key, Action<T> useCtx) where T : ICacheable { + if (store is null) + { + throw new ArgumentNullException(nameof(store)); + } + + if (useCtx is null) + { + throw new ArgumentNullException(nameof(useCtx)); + } + DateTime now = DateTime.UtcNow; T? record; lock (store) diff --git a/Utils/src/Extensions/CollectionExtensions.cs b/lib/Utils/src/Extensions/CollectionExtensions.cs index e4ec459..7636cd3 100644 --- a/Utils/src/Extensions/CollectionExtensions.cs +++ b/lib/Utils/src/Extensions/CollectionExtensions.cs @@ -25,8 +25,6 @@ using System; using System.Collections.Generic; -using VNLib.Utils.Memory; - namespace VNLib.Utils.Extensions { /// <summary> @@ -45,6 +43,10 @@ namespace VNLib.Utils.Extensions /// <returns>The initialized structure, or default if the lookup returns null/empty string</returns> public static TValue GetValueType<TKey, TValue>(this IIndexable<TKey, string> lookup, TKey key) where TValue : unmanaged where TKey : notnull { + if (lookup is null) + { + throw new ArgumentNullException(nameof(lookup)); + } //Get value string value = lookup[key]; //If the string is set, recover the value and return it diff --git a/Utils/src/Extensions/IoExtensions.cs b/lib/Utils/src/Extensions/IoExtensions.cs index f312203..baba7dc 100644 --- a/Utils/src/Extensions/IoExtensions.cs +++ b/lib/Utils/src/Extensions/IoExtensions.cs @@ -84,6 +84,16 @@ namespace VNLib.Utils.Extensions /// <exception cref="ArgumentException"></exception> public static async ValueTask CopyToAsync(this Stream source, Stream dest, int bufferSize, IUnmangedHeap heap, CancellationToken token = default) { + if (source is null) + { + throw new ArgumentNullException(nameof(source)); + } + + if (heap is null) + { + throw new ArgumentNullException(nameof(heap)); + } + if (source.CanSeek) { bufferSize = (int)Math.Min(source.Length, bufferSize); @@ -108,6 +118,11 @@ namespace VNLib.Utils.Extensions /// <exception cref="ArgumentException"></exception> public static async ValueTask CopyToAsync(this Stream source, Stream dest, long count, int bufferSize, IUnmangedHeap heap, CancellationToken token = default) { + if (source is null) + { + throw new ArgumentNullException(nameof(source)); + } + if (source.CanSeek) { bufferSize = (int)Math.Min(source.Length, bufferSize); @@ -128,10 +143,21 @@ namespace VNLib.Utils.Extensions /// <exception cref="ArgumentNullException"></exception> public static void CopyTo(this Stream source, Stream dest, IUnmangedHeap? heap = null) { + if (dest is null) + { + throw new ArgumentNullException(nameof(dest)); + } + + if (source is null) + { + throw new ArgumentNullException(nameof(source)); + } + if (!source.CanRead) { throw new ArgumentException("Source stream is unreadable", nameof(source)); } + if (!dest.CanWrite) { throw new ArgumentException("Destination stream is unwritable", nameof(dest)); @@ -171,6 +197,16 @@ namespace VNLib.Utils.Extensions /// <exception cref="ArgumentNullException"></exception> public static void CopyTo(this Stream source, Stream dest, long count, IUnmangedHeap? heap = null) { + if (dest is null) + { + throw new ArgumentNullException(nameof(dest)); + } + + if (source is null) + { + throw new ArgumentNullException(nameof(source)); + } + if (!source.CanRead) { throw new ArgumentException("Source stream is unreadable", nameof(source)); @@ -221,6 +257,16 @@ namespace VNLib.Utils.Extensions /// <exception cref="ArgumentException"></exception> public static async ValueTask CopyToAsync(this Stream source, Stream dest, Memory<byte> buffer, CancellationToken token = default) { + if (dest is null) + { + throw new ArgumentNullException(nameof(dest)); + } + + if (source is null) + { + throw new ArgumentNullException(nameof(source)); + } + //Make sure source can be read from, and dest can be written to if (!source.CanRead) { @@ -258,6 +304,16 @@ namespace VNLib.Utils.Extensions /// <exception cref="ArgumentException"></exception> public static async ValueTask CopyToAsync(this Stream source, Stream dest, Memory<byte> buffer, long count, CancellationToken token = default) { + if (dest is null) + { + throw new ArgumentNullException(nameof(dest)); + } + + if (source is null) + { + throw new ArgumentNullException(nameof(source)); + } + //Make sure source can be read from, and dest can be written to if (!source.CanRead) { diff --git a/Utils/src/Extensions/JsonExtensions.cs b/lib/Utils/src/Extensions/JsonExtensions.cs index a27dcc0..a27dcc0 100644 --- a/Utils/src/Extensions/JsonExtensions.cs +++ b/lib/Utils/src/Extensions/JsonExtensions.cs diff --git a/Utils/src/Extensions/MemoryExtensions.cs b/lib/Utils/src/Extensions/MemoryExtensions.cs index c8ee5ef..c8ee5ef 100644 --- a/Utils/src/Extensions/MemoryExtensions.cs +++ b/lib/Utils/src/Extensions/MemoryExtensions.cs diff --git a/Utils/src/Extensions/MutexReleaser.cs b/lib/Utils/src/Extensions/MutexReleaser.cs index 84dd60f..84dd60f 100644 --- a/Utils/src/Extensions/MutexReleaser.cs +++ b/lib/Utils/src/Extensions/MutexReleaser.cs diff --git a/Utils/src/Extensions/SafeLibraryExtensions.cs b/lib/Utils/src/Extensions/SafeLibraryExtensions.cs index 8866059..8866059 100644 --- a/Utils/src/Extensions/SafeLibraryExtensions.cs +++ b/lib/Utils/src/Extensions/SafeLibraryExtensions.cs diff --git a/Utils/src/Extensions/SemSlimReleaser.cs b/lib/Utils/src/Extensions/SemSlimReleaser.cs index c8a22fe..c3be4f8 100644 --- a/Utils/src/Extensions/SemSlimReleaser.cs +++ b/lib/Utils/src/Extensions/SemSlimReleaser.cs @@ -32,7 +32,7 @@ namespace VNLib.Utils.Extensions /// that has been entered and will be released. Best if used /// within a using() statment /// </summary> - public readonly struct SemSlimReleaser : IDisposable + public readonly struct SemSlimReleaser : IDisposable, IEquatable<SemSlimReleaser> { private readonly SemaphoreSlim _semaphore; internal SemSlimReleaser(SemaphoreSlim semaphore) => _semaphore = semaphore; @@ -47,5 +47,16 @@ namespace VNLib.Utils.Extensions /// <exception cref="ObjectDisposedException"></exception> /// <exception cref="SemaphoreFullException"></exception> public readonly int Release() => _semaphore.Release(); + + ///<inheritdoc/> + public override bool Equals(object obj) => obj is SemSlimReleaser ssr && Equals(ssr); + ///<inheritdoc/> + public override int GetHashCode() => _semaphore.GetHashCode(); + ///<inheritdoc/> + public static bool operator ==(SemSlimReleaser left, SemSlimReleaser right) => left.Equals(right); + ///<inheritdoc/> + public static bool operator !=(SemSlimReleaser left, SemSlimReleaser right) => !(left == right); + ///<inheritdoc/> + public bool Equals(SemSlimReleaser other) => _semaphore == other._semaphore; } }
\ No newline at end of file diff --git a/Utils/src/Extensions/StringExtensions.cs b/lib/Utils/src/Extensions/StringExtensions.cs index 09d6517..09d6517 100644 --- a/Utils/src/Extensions/StringExtensions.cs +++ b/lib/Utils/src/Extensions/StringExtensions.cs diff --git a/Utils/src/Extensions/ThreadingExtensions.cs b/lib/Utils/src/Extensions/ThreadingExtensions.cs index cc9fab9..cc9fab9 100644 --- a/Utils/src/Extensions/ThreadingExtensions.cs +++ b/lib/Utils/src/Extensions/ThreadingExtensions.cs diff --git a/Utils/src/Extensions/TimerExtensions.cs b/lib/Utils/src/Extensions/TimerExtensions.cs index a980d63..37929bf 100644 --- a/Utils/src/Extensions/TimerExtensions.cs +++ b/lib/Utils/src/Extensions/TimerExtensions.cs @@ -24,10 +24,15 @@ using System; using System.Threading; + using VNLib.Utils.Resources; namespace VNLib.Utils.Extensions { + + /// <summary> + /// Contains extension methods for <see cref="Timer"/> + /// </summary> public static class TimerExtensions { /// <summary> @@ -42,9 +47,9 @@ namespace VNLib.Utils.Extensions /// <param name="timer"></param> /// <param name="resumeTime"><see cref="TimeSpan"/> representing the amount of time the timer should wait before invoking the callback function</param> /// <returns>A new <see cref="OpenHandle"/> if the timer was stopped successfully that will resume the timer when closed, null otherwise</returns> - public static OpenHandle Stop(this Timer timer, TimeSpan resumeTime) + public static TimerResetHandle? Stop(this Timer timer, TimeSpan resumeTime) { - return timer.Change(Timeout.Infinite, Timeout.Infinite) ? new CallbackOpenHandle(() => timer.Change(resumeTime, Timeout.InfiniteTimeSpan)) : null; + return timer.Change(Timeout.Infinite, Timeout.Infinite) ? new TimerResetHandle(timer, resumeTime) : null; } /// <summary> diff --git a/lib/Utils/src/Extensions/TimerResetHandle.cs b/lib/Utils/src/Extensions/TimerResetHandle.cs new file mode 100644 index 0000000..57a71e8 --- /dev/null +++ b/lib/Utils/src/Extensions/TimerResetHandle.cs @@ -0,0 +1,66 @@ +/* +* Copyright (c) 2022 Vaughn Nugent +* +* Library: VNLib +* Package: VNLib.Utils +* File: TimerExtensions.cs +* +* TimerExtensions.cs is part of VNLib.Utils which is part of the larger +* VNLib collection of libraries and utilities. +* +* VNLib.Utils is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published +* by the Free Software Foundation, either version 2 of the License, +* or (at your option) any later version. +* +* VNLib.Utils is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with VNLib.Utils. If not, see http://www.gnu.org/licenses/. +*/ + +using System; +using System.Threading; + +namespace VNLib.Utils.Extensions +{ + /// <summary> + /// A handle that represents a paused timer that may be resumed when the handle is disposed + /// or the Resume() method is called + /// </summary> + public readonly struct TimerResetHandle: IEquatable<TimerResetHandle>, IDisposable + { + private readonly Timer _timer; + private readonly TimeSpan _resumeTime; + + internal TimerResetHandle(Timer timer, TimeSpan resumeTime) + { + _timer = timer; + _resumeTime = resumeTime; + } + + /// <summary> + /// Resumes the timer to the configured time from the call to Timer.Stop() + /// </summary> + public void Resume() => _timer.Change(_resumeTime, Timeout.InfiniteTimeSpan); + /// <summary> + /// Releases any resources held by the Handle, and resumes the timer to + /// the configured time from the call to Timer.Stop() + /// </summary> + public void Dispose() => Resume(); + + ///<inheritdoc/> + public bool Equals(TimerResetHandle other) => _timer.Equals(other) && _resumeTime == other._resumeTime; + ///<inheritdoc/> + public override bool Equals(object? obj) => obj is TimerResetHandle trh && Equals(trh); + ///<inheritdoc/> + public override int GetHashCode() => _timer.GetHashCode() + _resumeTime.GetHashCode(); + ///<inheritdoc/> + public static bool operator ==(TimerResetHandle left, TimerResetHandle right) => left.Equals(right); + ///<inheritdoc/> + public static bool operator !=(TimerResetHandle left, TimerResetHandle right) => !(left == right); + } +}
\ No newline at end of file diff --git a/Utils/src/Extensions/VnStringExtensions.cs b/lib/Utils/src/Extensions/VnStringExtensions.cs index 285fc4f..285fc4f 100644 --- a/Utils/src/Extensions/VnStringExtensions.cs +++ b/lib/Utils/src/Extensions/VnStringExtensions.cs diff --git a/Utils/src/IIndexable.cs b/lib/Utils/src/IIndexable.cs index 129d703..129d703 100644 --- a/Utils/src/IIndexable.cs +++ b/lib/Utils/src/IIndexable.cs diff --git a/Utils/src/IO/ArrayPoolStreamBuffer.cs b/lib/Utils/src/IO/ArrayPoolStreamBuffer.cs index df366e3..df366e3 100644 --- a/Utils/src/IO/ArrayPoolStreamBuffer.cs +++ b/lib/Utils/src/IO/ArrayPoolStreamBuffer.cs diff --git a/Utils/src/IO/BackingStream.cs b/lib/Utils/src/IO/BackingStream.cs index cb56b09..cb56b09 100644 --- a/Utils/src/IO/BackingStream.cs +++ b/lib/Utils/src/IO/BackingStream.cs diff --git a/Utils/src/IO/FileOperations.cs b/lib/Utils/src/IO/FileOperations.cs index e040da4..e040da4 100644 --- a/Utils/src/IO/FileOperations.cs +++ b/lib/Utils/src/IO/FileOperations.cs diff --git a/Utils/src/IO/IDataAccumulator.cs b/lib/Utils/src/IO/IDataAccumulator.cs index 5129a55..5129a55 100644 --- a/Utils/src/IO/IDataAccumulator.cs +++ b/lib/Utils/src/IO/IDataAccumulator.cs diff --git a/Utils/src/IO/ISlindingWindowBuffer.cs b/lib/Utils/src/IO/ISlindingWindowBuffer.cs index ff4e142..ff4e142 100644 --- a/Utils/src/IO/ISlindingWindowBuffer.cs +++ b/lib/Utils/src/IO/ISlindingWindowBuffer.cs diff --git a/Utils/src/IO/IVnTextReader.cs b/lib/Utils/src/IO/IVnTextReader.cs index 625ba78..625ba78 100644 --- a/Utils/src/IO/IVnTextReader.cs +++ b/lib/Utils/src/IO/IVnTextReader.cs diff --git a/Utils/src/IO/InMemoryTemplate.cs b/lib/Utils/src/IO/InMemoryTemplate.cs index 12f9092..ae8bf79 100644 --- a/Utils/src/IO/InMemoryTemplate.cs +++ b/lib/Utils/src/IO/InMemoryTemplate.cs @@ -65,7 +65,7 @@ namespace VNLib.Utils.IO if (listenForChanges) { //Setup a watcher to reload the template when modified - Watcher = new FileSystemWatcher(TemplateFile.DirectoryName) + Watcher = new FileSystemWatcher(TemplateFile.DirectoryName!) { EnableRaisingEvents = true, IncludeSubdirectories = false, diff --git a/Utils/src/IO/IsolatedStorageDirectory.cs b/lib/Utils/src/IO/IsolatedStorageDirectory.cs index 65460ff..65460ff 100644 --- a/Utils/src/IO/IsolatedStorageDirectory.cs +++ b/lib/Utils/src/IO/IsolatedStorageDirectory.cs diff --git a/Utils/src/IO/SlidingWindowBufferExtensions.cs b/lib/Utils/src/IO/SlidingWindowBufferExtensions.cs index 0509061..0509061 100644 --- a/Utils/src/IO/SlidingWindowBufferExtensions.cs +++ b/lib/Utils/src/IO/SlidingWindowBufferExtensions.cs diff --git a/Utils/src/IO/TemporayIsolatedFile.cs b/lib/Utils/src/IO/TemporayIsolatedFile.cs index 3bee92b..3bee92b 100644 --- a/Utils/src/IO/TemporayIsolatedFile.cs +++ b/lib/Utils/src/IO/TemporayIsolatedFile.cs diff --git a/Utils/src/IO/VnMemoryStream.cs b/lib/Utils/src/IO/VnMemoryStream.cs index 389a7da..4e8a2b3 100644 --- a/Utils/src/IO/VnMemoryStream.cs +++ b/lib/Utils/src/IO/VnMemoryStream.cs @@ -281,16 +281,16 @@ namespace VNLib.Utils.IO ///<inheritdoc/> public override int Read(byte[] buffer, int offset, int count) => Read(new Span<byte>(buffer, offset, count)); ///<inheritdoc/> - public override int Read(Span<byte> destination) + public override int Read(Span<byte> buffer) { - if (destination.Length == 0) + if (buffer.Length == 0) { return 0; } //Number of bytes to read from memory buffer - int bytesToRead = checked((int)Math.Min(LenToPosDiff, destination.Length)); + int bytesToRead = checked((int)Math.Min(LenToPosDiff, buffer.Length)); //Copy bytes to buffer - Memory.Copy(_buffer, _position, destination, 0, bytesToRead); + Memory.Copy(_buffer, _position, buffer, 0, bytesToRead); //Increment buffer position _position += bytesToRead; //Bytestoread should never be larger than int.max because span length is an integer diff --git a/Utils/src/IO/VnStreamReader.cs b/lib/Utils/src/IO/VnStreamReader.cs index 70b9734..70b9734 100644 --- a/Utils/src/IO/VnStreamReader.cs +++ b/lib/Utils/src/IO/VnStreamReader.cs diff --git a/Utils/src/IO/VnStreamWriter.cs b/lib/Utils/src/IO/VnStreamWriter.cs index 37d700c..f875932 100644 --- a/Utils/src/IO/VnStreamWriter.cs +++ b/lib/Utils/src/IO/VnStreamWriter.cs @@ -75,8 +75,8 @@ namespace VNLib.Utils.IO public VnStreamWriter(Stream baseStream, Encoding encoding, int bufferSize = 1024) { //Store base stream - BaseStream = baseStream; - Encoding = encoding; + BaseStream = baseStream ?? throw new ArgumentNullException(nameof(baseStream)); + Encoding = encoding ?? throw new ArgumentNullException(nameof(encoding)); //Get an encoder Enc = encoding.GetEncoder(); _buffer = InitializeBuffer(bufferSize); @@ -107,9 +107,9 @@ namespace VNLib.Utils.IO Write(tbuf); } ///<inheritdoc/> - public override void Write(object value) => Write(value.ToString()); + public override void Write(object? value) => Write(value?.ToString()); ///<inheritdoc/> - public override void Write(string value) => Write(value.AsSpan()); + public override void Write(string? value) => Write(value.AsSpan()); ///<inheritdoc/> public override void Write(ReadOnlySpan<char> buffer) { @@ -178,9 +178,9 @@ namespace VNLib.Utils.IO _buffer.Append(LineTermination.Span); } ///<inheritdoc/> - public override void WriteLine(object value) => WriteLine(value.ToString()); + public override void WriteLine(object? value) => WriteLine(value?.ToString()); ///<inheritdoc/> - public override void WriteLine(string value) => WriteLine(value.AsSpan()); + public override void WriteLine(string? value) => WriteLine(value.AsSpan()); ///<inheritdoc/> public override void WriteLine(ReadOnlySpan<char> buffer) { diff --git a/Utils/src/IO/VnTextReaderExtensions.cs b/lib/Utils/src/IO/VnTextReaderExtensions.cs index 119461b..119461b 100644 --- a/Utils/src/IO/VnTextReaderExtensions.cs +++ b/lib/Utils/src/IO/VnTextReaderExtensions.cs diff --git a/Utils/src/IO/WriteOnlyBufferedStream.cs b/lib/Utils/src/IO/WriteOnlyBufferedStream.cs index 5e7faa1..5e7faa1 100644 --- a/Utils/src/IO/WriteOnlyBufferedStream.cs +++ b/lib/Utils/src/IO/WriteOnlyBufferedStream.cs diff --git a/Utils/src/IObjectStorage.cs b/lib/Utils/src/IObjectStorage.cs index 5c99cd8..5c99cd8 100644 --- a/Utils/src/IObjectStorage.cs +++ b/lib/Utils/src/IObjectStorage.cs diff --git a/Utils/src/Logging/ILogProvider.cs b/lib/Utils/src/Logging/ILogProvider.cs index 55dbd6f..55dbd6f 100644 --- a/Utils/src/Logging/ILogProvider.cs +++ b/lib/Utils/src/Logging/ILogProvider.cs diff --git a/Utils/src/Logging/LogLevel.cs b/lib/Utils/src/Logging/LogLevel.cs index 1851c26..1851c26 100644 --- a/Utils/src/Logging/LogLevel.cs +++ b/lib/Utils/src/Logging/LogLevel.cs diff --git a/Utils/src/Logging/LoggerExtensions.cs b/lib/Utils/src/Logging/LoggerExtensions.cs index cd314ed..cd314ed 100644 --- a/Utils/src/Logging/LoggerExtensions.cs +++ b/lib/Utils/src/Logging/LoggerExtensions.cs diff --git a/Utils/src/Memory/Caching/ICacheHolder.cs b/lib/Utils/src/Memory/Caching/ICacheHolder.cs index 19eee64..19eee64 100644 --- a/Utils/src/Memory/Caching/ICacheHolder.cs +++ b/lib/Utils/src/Memory/Caching/ICacheHolder.cs diff --git a/Utils/src/Memory/Caching/ICacheable.cs b/lib/Utils/src/Memory/Caching/ICacheable.cs index 37575cc..37575cc 100644 --- a/Utils/src/Memory/Caching/ICacheable.cs +++ b/lib/Utils/src/Memory/Caching/ICacheable.cs diff --git a/Utils/src/Memory/Caching/IObjectRental.cs b/lib/Utils/src/Memory/Caching/IObjectRental.cs index d9489f4..d9489f4 100644 --- a/Utils/src/Memory/Caching/IObjectRental.cs +++ b/lib/Utils/src/Memory/Caching/IObjectRental.cs diff --git a/Utils/src/Memory/Caching/IReusable.cs b/lib/Utils/src/Memory/Caching/IReusable.cs index 618878f..618878f 100644 --- a/Utils/src/Memory/Caching/IReusable.cs +++ b/lib/Utils/src/Memory/Caching/IReusable.cs diff --git a/Utils/src/Memory/Caching/LRUCache.cs b/lib/Utils/src/Memory/Caching/LRUCache.cs index 7e96e0a..7e96e0a 100644 --- a/Utils/src/Memory/Caching/LRUCache.cs +++ b/lib/Utils/src/Memory/Caching/LRUCache.cs diff --git a/Utils/src/Memory/Caching/LRUDataStore.cs b/lib/Utils/src/Memory/Caching/LRUDataStore.cs index f564fcc..f564fcc 100644 --- a/Utils/src/Memory/Caching/LRUDataStore.cs +++ b/lib/Utils/src/Memory/Caching/LRUDataStore.cs diff --git a/Utils/src/Memory/Caching/ObjectRental.cs b/lib/Utils/src/Memory/Caching/ObjectRental.cs index 22aca95..22aca95 100644 --- a/Utils/src/Memory/Caching/ObjectRental.cs +++ b/lib/Utils/src/Memory/Caching/ObjectRental.cs diff --git a/Utils/src/Memory/Caching/ObjectRentalBase.cs b/lib/Utils/src/Memory/Caching/ObjectRentalBase.cs index 305d93f..305d93f 100644 --- a/Utils/src/Memory/Caching/ObjectRentalBase.cs +++ b/lib/Utils/src/Memory/Caching/ObjectRentalBase.cs diff --git a/Utils/src/Memory/Caching/ReusableStore.cs b/lib/Utils/src/Memory/Caching/ReusableStore.cs index aacd012..aacd012 100644 --- a/Utils/src/Memory/Caching/ReusableStore.cs +++ b/lib/Utils/src/Memory/Caching/ReusableStore.cs diff --git a/Utils/src/Memory/Caching/ThreadLocalObjectStorage.cs b/lib/Utils/src/Memory/Caching/ThreadLocalObjectStorage.cs index 511af24..511af24 100644 --- a/Utils/src/Memory/Caching/ThreadLocalObjectStorage.cs +++ b/lib/Utils/src/Memory/Caching/ThreadLocalObjectStorage.cs diff --git a/Utils/src/Memory/Caching/ThreadLocalReusableStore.cs b/lib/Utils/src/Memory/Caching/ThreadLocalReusableStore.cs index 83cd4d6..83cd4d6 100644 --- a/Utils/src/Memory/Caching/ThreadLocalReusableStore.cs +++ b/lib/Utils/src/Memory/Caching/ThreadLocalReusableStore.cs diff --git a/Utils/src/Memory/ForwardOnlyBufferWriter.cs b/lib/Utils/src/Memory/ForwardOnlyBufferWriter.cs index 0ea507e..0ea507e 100644 --- a/Utils/src/Memory/ForwardOnlyBufferWriter.cs +++ b/lib/Utils/src/Memory/ForwardOnlyBufferWriter.cs diff --git a/Utils/src/Memory/ForwardOnlyMemoryReader.cs b/lib/Utils/src/Memory/ForwardOnlyMemoryReader.cs index c850b14..c850b14 100644 --- a/Utils/src/Memory/ForwardOnlyMemoryReader.cs +++ b/lib/Utils/src/Memory/ForwardOnlyMemoryReader.cs diff --git a/Utils/src/Memory/ForwardOnlyMemoryWriter.cs b/lib/Utils/src/Memory/ForwardOnlyMemoryWriter.cs index 4f5286d..4f5286d 100644 --- a/Utils/src/Memory/ForwardOnlyMemoryWriter.cs +++ b/lib/Utils/src/Memory/ForwardOnlyMemoryWriter.cs diff --git a/Utils/src/Memory/ForwardOnlyReader.cs b/lib/Utils/src/Memory/ForwardOnlyReader.cs index aa268c4..aa268c4 100644 --- a/Utils/src/Memory/ForwardOnlyReader.cs +++ b/lib/Utils/src/Memory/ForwardOnlyReader.cs diff --git a/Utils/src/Memory/IMemoryHandle.cs b/lib/Utils/src/Memory/IMemoryHandle.cs index 75d1cce..75d1cce 100644 --- a/Utils/src/Memory/IMemoryHandle.cs +++ b/lib/Utils/src/Memory/IMemoryHandle.cs diff --git a/Utils/src/Memory/IStringSerializeable.cs b/lib/Utils/src/Memory/IStringSerializeable.cs index 12cfe52..12cfe52 100644 --- a/Utils/src/Memory/IStringSerializeable.cs +++ b/lib/Utils/src/Memory/IStringSerializeable.cs diff --git a/Utils/src/Memory/IUnmangedHeap.cs b/lib/Utils/src/Memory/IUnmangedHeap.cs index 5d8f4bf..5d8f4bf 100644 --- a/Utils/src/Memory/IUnmangedHeap.cs +++ b/lib/Utils/src/Memory/IUnmangedHeap.cs diff --git a/Utils/src/Memory/Memory.cs b/lib/Utils/src/Memory/Memory.cs index 822d98c..e04c386 100644 --- a/Utils/src/Memory/Memory.cs +++ b/lib/Utils/src/Memory/Memory.cs @@ -77,7 +77,7 @@ namespace VNLib.Utils.Memory AppDomain.CurrentDomain.DomainUnload += DomainUnloaded; } - private static void DomainUnloaded(object sender, EventArgs e) + private static void DomainUnloaded(object? sender, EventArgs e) { //Dispose the heap if allocated if (_sharedHeap.IsValueCreated) diff --git a/Utils/src/Memory/MemoryHandle.cs b/lib/Utils/src/Memory/MemoryHandle.cs index a09edea..a09edea 100644 --- a/Utils/src/Memory/MemoryHandle.cs +++ b/lib/Utils/src/Memory/MemoryHandle.cs diff --git a/Utils/src/Memory/PrivateBuffersMemoryPool.cs b/lib/Utils/src/Memory/PrivateBuffersMemoryPool.cs index 1e85207..1e85207 100644 --- a/Utils/src/Memory/PrivateBuffersMemoryPool.cs +++ b/lib/Utils/src/Memory/PrivateBuffersMemoryPool.cs diff --git a/Utils/src/Memory/PrivateHeap.cs b/lib/Utils/src/Memory/PrivateHeap.cs index 5d97506..5d97506 100644 --- a/Utils/src/Memory/PrivateHeap.cs +++ b/lib/Utils/src/Memory/PrivateHeap.cs diff --git a/Utils/src/Memory/PrivateString.cs b/lib/Utils/src/Memory/PrivateString.cs index cd3b1f6..20d658a 100644 --- a/Utils/src/Memory/PrivateString.cs +++ b/lib/Utils/src/Memory/PrivateString.cs @@ -90,19 +90,19 @@ namespace VNLib.Utils.Memory public bool Equals(string? other) { Check(); - return StrRef.Equals(other); + return StrRef.Equals(other, StringComparison.Ordinal); } ///<inheritdoc/> public bool Equals(PrivateString? other) { Check(); - return other != null && StrRef.Equals(other.StrRef); + return other != null && StrRef.Equals(other.StrRef, StringComparison.Ordinal); } ///<inheritdoc/> - public override bool Equals(object? other) + public override bool Equals(object? obj) { Check(); - return other is PrivateString otherRef && StrRef.Equals(otherRef); + return obj is PrivateString otherRef && StrRef.Equals(otherRef); } ///<inheritdoc/> public bool Equals(ReadOnlySpan<char> other) @@ -145,7 +145,7 @@ namespace VNLib.Utils.Memory public override int GetHashCode() { Check(); - return StrRef.GetHashCode(); + return StrRef.GetHashCode(StringComparison.Ordinal); } /// <summary> @@ -179,7 +179,5 @@ namespace VNLib.Utils.Memory base.Free(); } } - - } -}
\ No newline at end of file +} diff --git a/Utils/src/Memory/PrivateStringManager.cs b/lib/Utils/src/Memory/PrivateStringManager.cs index 9ed8f5f..9ed8f5f 100644 --- a/Utils/src/Memory/PrivateStringManager.cs +++ b/lib/Utils/src/Memory/PrivateStringManager.cs diff --git a/Utils/src/Memory/ProcessHeap.cs b/lib/Utils/src/Memory/ProcessHeap.cs index 4f06d52..4f06d52 100644 --- a/Utils/src/Memory/ProcessHeap.cs +++ b/lib/Utils/src/Memory/ProcessHeap.cs diff --git a/Utils/src/Memory/RpMallocPrivateHeap.cs b/lib/Utils/src/Memory/RpMallocPrivateHeap.cs index 70c8a7f..8ed79b6 100644 --- a/Utils/src/Memory/RpMallocPrivateHeap.cs +++ b/lib/Utils/src/Memory/RpMallocPrivateHeap.cs @@ -109,7 +109,7 @@ namespace VNLib.Utils.Memory #endregion - private class RpMallocGlobalHeap : IUnmangedHeap + private sealed class RpMallocGlobalHeap : IUnmangedHeap { IntPtr IUnmangedHeap.Alloc(ulong elements, ulong size, bool zero) { diff --git a/Utils/src/Memory/SubSequence.cs b/lib/Utils/src/Memory/SubSequence.cs index 3800fb5..3800fb5 100644 --- a/Utils/src/Memory/SubSequence.cs +++ b/lib/Utils/src/Memory/SubSequence.cs diff --git a/Utils/src/Memory/SysBufferMemoryManager.cs b/lib/Utils/src/Memory/SysBufferMemoryManager.cs index 040467f..040467f 100644 --- a/Utils/src/Memory/SysBufferMemoryManager.cs +++ b/lib/Utils/src/Memory/SysBufferMemoryManager.cs diff --git a/Utils/src/Memory/UnmanagedHeapBase.cs b/lib/Utils/src/Memory/UnmanagedHeapBase.cs index 5c92aff..5c92aff 100644 --- a/Utils/src/Memory/UnmanagedHeapBase.cs +++ b/lib/Utils/src/Memory/UnmanagedHeapBase.cs diff --git a/Utils/src/Memory/UnsafeMemoryHandle.cs b/lib/Utils/src/Memory/UnsafeMemoryHandle.cs index b05ad40..b05ad40 100644 --- a/Utils/src/Memory/UnsafeMemoryHandle.cs +++ b/lib/Utils/src/Memory/UnsafeMemoryHandle.cs diff --git a/Utils/src/Memory/VnString.cs b/lib/Utils/src/Memory/VnString.cs index 7fa0c5a..7fa0c5a 100644 --- a/Utils/src/Memory/VnString.cs +++ b/lib/Utils/src/Memory/VnString.cs diff --git a/Utils/src/Memory/VnTable.cs b/lib/Utils/src/Memory/VnTable.cs index 1d5c0a6..1d5c0a6 100644 --- a/Utils/src/Memory/VnTable.cs +++ b/lib/Utils/src/Memory/VnTable.cs diff --git a/Utils/src/Memory/VnTempBuffer.cs b/lib/Utils/src/Memory/VnTempBuffer.cs index 7726fe1..7726fe1 100644 --- a/Utils/src/Memory/VnTempBuffer.cs +++ b/lib/Utils/src/Memory/VnTempBuffer.cs diff --git a/Utils/src/Native/SafeLibraryHandle.cs b/lib/Utils/src/Native/SafeLibraryHandle.cs index 4772bd4..4772bd4 100644 --- a/Utils/src/Native/SafeLibraryHandle.cs +++ b/lib/Utils/src/Native/SafeLibraryHandle.cs diff --git a/Utils/src/Native/SafeMethodHandle.cs b/lib/Utils/src/Native/SafeMethodHandle.cs index 3ba0879..3ba0879 100644 --- a/Utils/src/Native/SafeMethodHandle.cs +++ b/lib/Utils/src/Native/SafeMethodHandle.cs diff --git a/Utils/src/NativeLibraryException.cs b/lib/Utils/src/NativeLibraryException.cs index 5c66852..5c66852 100644 --- a/Utils/src/NativeLibraryException.cs +++ b/lib/Utils/src/NativeLibraryException.cs diff --git a/Utils/src/Resources/BackedResourceBase.cs b/lib/Utils/src/Resources/BackedResourceBase.cs index 0a2e1e3..0a2e1e3 100644 --- a/Utils/src/Resources/BackedResourceBase.cs +++ b/lib/Utils/src/Resources/BackedResourceBase.cs diff --git a/Utils/src/Resources/CallbackOpenHandle.cs b/lib/Utils/src/Resources/CallbackOpenHandle.cs index 625bd45..625bd45 100644 --- a/Utils/src/Resources/CallbackOpenHandle.cs +++ b/lib/Utils/src/Resources/CallbackOpenHandle.cs diff --git a/Utils/src/Resources/ExclusiveResourceHandle.cs b/lib/Utils/src/Resources/ExclusiveResourceHandle.cs index 173bdd1..173bdd1 100644 --- a/Utils/src/Resources/ExclusiveResourceHandle.cs +++ b/lib/Utils/src/Resources/ExclusiveResourceHandle.cs diff --git a/Utils/src/Resources/IExclusiveResource.cs b/lib/Utils/src/Resources/IExclusiveResource.cs index 43ec607..43ec607 100644 --- a/Utils/src/Resources/IExclusiveResource.cs +++ b/lib/Utils/src/Resources/IExclusiveResource.cs diff --git a/Utils/src/Resources/IResource.cs b/lib/Utils/src/Resources/IResource.cs index 345e284..345e284 100644 --- a/Utils/src/Resources/IResource.cs +++ b/lib/Utils/src/Resources/IResource.cs diff --git a/Utils/src/Resources/OpenHandle.cs b/lib/Utils/src/Resources/OpenHandle.cs index 6133a65..6133a65 100644 --- a/Utils/src/Resources/OpenHandle.cs +++ b/lib/Utils/src/Resources/OpenHandle.cs diff --git a/Utils/src/Resources/OpenResourceHandle.cs b/lib/Utils/src/Resources/OpenResourceHandle.cs index d9f9fd2..d9f9fd2 100644 --- a/Utils/src/Resources/OpenResourceHandle.cs +++ b/lib/Utils/src/Resources/OpenResourceHandle.cs diff --git a/Utils/src/Resources/ResourceDeleteFailedException.cs b/lib/Utils/src/Resources/ResourceDeleteFailedException.cs index 8e796b5..8e796b5 100644 --- a/Utils/src/Resources/ResourceDeleteFailedException.cs +++ b/lib/Utils/src/Resources/ResourceDeleteFailedException.cs diff --git a/Utils/src/Resources/ResourceUpdateFailedException.cs b/lib/Utils/src/Resources/ResourceUpdateFailedException.cs index b4b2b3a..b4b2b3a 100644 --- a/Utils/src/Resources/ResourceUpdateFailedException.cs +++ b/lib/Utils/src/Resources/ResourceUpdateFailedException.cs diff --git a/Utils/src/Resources/UpdatableResource.cs b/lib/Utils/src/Resources/UpdatableResource.cs index 16f26f2..16f26f2 100644 --- a/Utils/src/Resources/UpdatableResource.cs +++ b/lib/Utils/src/Resources/UpdatableResource.cs diff --git a/Utils/src/VNLib.Utils.csproj b/lib/Utils/src/VNLib.Utils.csproj index b14ab27..b14ab27 100644 --- a/Utils/src/VNLib.Utils.csproj +++ b/lib/Utils/src/VNLib.Utils.csproj diff --git a/Utils/src/VnDisposeable.cs b/lib/Utils/src/VnDisposeable.cs index 4230a13..4230a13 100644 --- a/Utils/src/VnDisposeable.cs +++ b/lib/Utils/src/VnDisposeable.cs diff --git a/Utils/src/VnEncoding.cs b/lib/Utils/src/VnEncoding.cs index 94d8a1a..94d8a1a 100644 --- a/Utils/src/VnEncoding.cs +++ b/lib/Utils/src/VnEncoding.cs diff --git a/Utils/tests/ERRNOTest.cs b/lib/Utils/tests/ERRNOTest.cs index bd14b50..bd14b50 100644 --- a/Utils/tests/ERRNOTest.cs +++ b/lib/Utils/tests/ERRNOTest.cs diff --git a/Utils/tests/Memory/MemoryHandleTest.cs b/lib/Utils/tests/Memory/MemoryHandleTest.cs index 02ef1f1..02ef1f1 100644 --- a/Utils/tests/Memory/MemoryHandleTest.cs +++ b/lib/Utils/tests/Memory/MemoryHandleTest.cs diff --git a/Utils/tests/Memory/MemoryTests.cs b/lib/Utils/tests/Memory/MemoryTests.cs index 5b68cf5..5b68cf5 100644 --- a/Utils/tests/Memory/MemoryTests.cs +++ b/lib/Utils/tests/Memory/MemoryTests.cs diff --git a/Utils/tests/Memory/VnTableTests.cs b/lib/Utils/tests/Memory/VnTableTests.cs index 11350d4..11350d4 100644 --- a/Utils/tests/Memory/VnTableTests.cs +++ b/lib/Utils/tests/Memory/VnTableTests.cs diff --git a/Utils/tests/README.md b/lib/Utils/tests/README.md index e69de29..e69de29 100644 --- a/Utils/tests/README.md +++ b/lib/Utils/tests/README.md diff --git a/Utils/tests/VNLib.UtilsTests.csproj b/lib/Utils/tests/VNLib.UtilsTests.csproj index 89b3124..89b3124 100644 --- a/Utils/tests/VNLib.UtilsTests.csproj +++ b/lib/Utils/tests/VNLib.UtilsTests.csproj diff --git a/Utils/tests/VnEncodingTests.cs b/lib/Utils/tests/VnEncodingTests.cs index a4e52f0..a4e52f0 100644 --- a/Utils/tests/VnEncodingTests.cs +++ b/lib/Utils/tests/VnEncodingTests.cs diff --git a/WinRpMalloc/LICENSE.txt b/lib/WinRpMalloc/LICENSE.txt index 2848520..2848520 100644 --- a/WinRpMalloc/LICENSE.txt +++ b/lib/WinRpMalloc/LICENSE.txt diff --git a/WinRpMalloc/README.md b/lib/WinRpMalloc/README.md index 4f72b66..4f72b66 100644 --- a/WinRpMalloc/README.md +++ b/lib/WinRpMalloc/README.md diff --git a/WinRpMalloc/src/WinRpMalloc.vcxproj b/lib/WinRpMalloc/src/WinRpMalloc.vcxproj index b39deed..b39deed 100644 --- a/WinRpMalloc/src/WinRpMalloc.vcxproj +++ b/lib/WinRpMalloc/src/WinRpMalloc.vcxproj diff --git a/WinRpMalloc/src/dllmain.c b/lib/WinRpMalloc/src/dllmain.c index 10ea3f5..10ea3f5 100644 --- a/WinRpMalloc/src/dllmain.c +++ b/lib/WinRpMalloc/src/dllmain.c diff --git a/WinRpMalloc/src/framework.h b/lib/WinRpMalloc/src/framework.h index 573886e..573886e 100644 --- a/WinRpMalloc/src/framework.h +++ b/lib/WinRpMalloc/src/framework.h diff --git a/WinRpMalloc/src/pch.c b/lib/WinRpMalloc/src/pch.c index 64b7eef..64b7eef 100644 --- a/WinRpMalloc/src/pch.c +++ b/lib/WinRpMalloc/src/pch.c diff --git a/WinRpMalloc/src/pch.h b/lib/WinRpMalloc/src/pch.h index d8c2409..d8c2409 100644 --- a/WinRpMalloc/src/pch.h +++ b/lib/WinRpMalloc/src/pch.h diff --git a/WinRpMalloc/src/rpmalloc.c b/lib/WinRpMalloc/src/rpmalloc.c index 9228cd2..9228cd2 100644 --- a/WinRpMalloc/src/rpmalloc.c +++ b/lib/WinRpMalloc/src/rpmalloc.c diff --git a/WinRpMalloc/src/rpmalloc.h b/lib/WinRpMalloc/src/rpmalloc.h index 3806653..3806653 100644 --- a/WinRpMalloc/src/rpmalloc.h +++ b/lib/WinRpMalloc/src/rpmalloc.h |