aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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.cs66
-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