diff --git a/DotNetty.sln.DotSettings b/DotNetty.sln.DotSettings index 0ccd4211a..8c4496266 100644 --- a/DotNetty.sln.DotSettings +++ b/DotNetty.sln.DotSettings @@ -16,10 +16,11 @@ HINT DO_NOT_SHOW HINT - DO_NOT_SHOW - DO_NOT_SHOW + WARNING + WARNING + WARNING HINT - <?xml version="1.0" encoding="utf-16"?><Profile name="Simple"><CSArrangeThisQualifier>True</CSArrangeThisQualifier><CSMakeFieldReadonly>True</CSMakeFieldReadonly><CSUseVar><BehavourStyle>CAN_CHANGE_TO_IMPLICIT</BehavourStyle><LocalVariableStyle>IMPLICIT_WHEN_INITIALIZER_HAS_TYPE</LocalVariableStyle><ForeachVariableStyle>IMPLICIT_EXCEPT_PRIMITIVE_TYPES</ForeachVariableStyle></CSUseVar><CSUpdateFileHeader>True</CSUpdateFileHeader><CSOptimizeUsings><OptimizeUsings>True</OptimizeUsings><EmbraceInRegion>False</EmbraceInRegion><RegionName></RegionName></CSOptimizeUsings><CSReformatCode>True</CSReformatCode><StyleCop.Documentation><SA1600ElementsMustBeDocumented>False</SA1600ElementsMustBeDocumented><SA1604ElementDocumentationMustHaveSummary>False</SA1604ElementDocumentationMustHaveSummary><SA1609PropertyDocumentationMustHaveValueDocumented>False</SA1609PropertyDocumentationMustHaveValueDocumented><SA1611ElementParametersMustBeDocumented>False</SA1611ElementParametersMustBeDocumented><SA1615ElementReturnValueMustBeDocumented>False</SA1615ElementReturnValueMustBeDocumented><SA1617VoidReturnValueMustNotBeDocumented>False</SA1617VoidReturnValueMustNotBeDocumented><SA1618GenericTypeParametersMustBeDocumented>False</SA1618GenericTypeParametersMustBeDocumented><SA1626SingleLineCommentsMustNotUseDocumentationStyleSlashes>False</SA1626SingleLineCommentsMustNotUseDocumentationStyleSlashes><SA1628DocumentationTextMustBeginWithACapitalLetter>False</SA1628DocumentationTextMustBeginWithACapitalLetter><SA1629DocumentationTextMustEndWithAPeriod>False</SA1629DocumentationTextMustEndWithAPeriod><SA1633SA1641UpdateFileHeader>ReplaceAll</SA1633SA1641UpdateFileHeader><SA1639FileHeaderMustHaveSummary>False</SA1639FileHeaderMustHaveSummary><SA1642ConstructorSummaryDocumentationMustBeginWithStandardText>False</SA1642ConstructorSummaryDocumentationMustBeginWithStandardText><SA1643DestructorSummaryDocumentationMustBeginWithStandardText>False</SA1643DestructorSummaryDocumentationMustBeginWithStandardText><SA1644DocumentationHeadersMustNotContainBlankLines>False</SA1644DocumentationHeadersMustNotContainBlankLines></StyleCop.Documentation><CSShortenReferences>True</CSShortenReferences><CSFixBuiltinTypeReferences>True</CSFixBuiltinTypeReferences><CSArrangeQualifiers>True</CSArrangeQualifiers><CSEnforceVarKeywordUsageSettings>True</CSEnforceVarKeywordUsageSettings></Profile> + <?xml version="1.0" encoding="utf-16"?><Profile name="Simple"><CSArrangeThisQualifier>True</CSArrangeThisQualifier><CSUseVar><BehavourStyle>CAN_CHANGE_TO_IMPLICIT</BehavourStyle><LocalVariableStyle>IMPLICIT_WHEN_INITIALIZER_HAS_TYPE</LocalVariableStyle><ForeachVariableStyle>IMPLICIT_EXCEPT_PRIMITIVE_TYPES</ForeachVariableStyle></CSUseVar><CSUpdateFileHeader>True</CSUpdateFileHeader><CSOptimizeUsings><OptimizeUsings>True</OptimizeUsings><EmbraceInRegion>False</EmbraceInRegion><RegionName></RegionName></CSOptimizeUsings><CSReformatCode>True</CSReformatCode><StyleCop.Documentation><SA1600ElementsMustBeDocumented>False</SA1600ElementsMustBeDocumented><SA1604ElementDocumentationMustHaveSummary>False</SA1604ElementDocumentationMustHaveSummary><SA1609PropertyDocumentationMustHaveValueDocumented>False</SA1609PropertyDocumentationMustHaveValueDocumented><SA1611ElementParametersMustBeDocumented>False</SA1611ElementParametersMustBeDocumented><SA1615ElementReturnValueMustBeDocumented>False</SA1615ElementReturnValueMustBeDocumented><SA1617VoidReturnValueMustNotBeDocumented>False</SA1617VoidReturnValueMustNotBeDocumented><SA1618GenericTypeParametersMustBeDocumented>False</SA1618GenericTypeParametersMustBeDocumented><SA1626SingleLineCommentsMustNotUseDocumentationStyleSlashes>False</SA1626SingleLineCommentsMustNotUseDocumentationStyleSlashes><SA1628DocumentationTextMustBeginWithACapitalLetter>False</SA1628DocumentationTextMustBeginWithACapitalLetter><SA1629DocumentationTextMustEndWithAPeriod>False</SA1629DocumentationTextMustEndWithAPeriod><SA1633SA1641UpdateFileHeader>ReplaceAll</SA1633SA1641UpdateFileHeader><SA1639FileHeaderMustHaveSummary>False</SA1639FileHeaderMustHaveSummary><SA1642ConstructorSummaryDocumentationMustBeginWithStandardText>False</SA1642ConstructorSummaryDocumentationMustBeginWithStandardText><SA1643DestructorSummaryDocumentationMustBeginWithStandardText>False</SA1643DestructorSummaryDocumentationMustBeginWithStandardText><SA1644DocumentationHeadersMustNotContainBlankLines>False</SA1644DocumentationHeadersMustNotContainBlankLines></StyleCop.Documentation><CSShortenReferences>True</CSShortenReferences><CSFixBuiltinTypeReferences>True</CSFixBuiltinTypeReferences><CSArrangeQualifiers>True</CSArrangeQualifiers><CSEnforceVarKeywordUsageSettings>True</CSEnforceVarKeywordUsageSettings><CSMakeFieldReadonly>True</CSMakeFieldReadonly><CSharpFormatDocComments>True</CSharpFormatDocComments></Profile> Simple Simple All @@ -29,11 +30,9 @@ 1 False False - DO_NOT_CHANGE ALWAYS_ADD ALWAYS_ADD ALWAYS_ADD - DO_NOT_CHANGE ALWAYS_ADD 1 1 @@ -87,4 +86,5 @@ Licensed under the MIT license. See LICENSE file in the project root for full li <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> True True - True \ No newline at end of file + True + CSharp50 \ No newline at end of file diff --git a/src/DotNetty.Transport/Channels/ChannelHandlerAdapter.cs b/src/DotNetty.Transport/Channels/ChannelHandlerAdapter.cs index 995611338..e9c0fba0b 100644 --- a/src/DotNetty.Transport/Channels/ChannelHandlerAdapter.cs +++ b/src/DotNetty.Transport/Channels/ChannelHandlerAdapter.cs @@ -48,7 +48,7 @@ public virtual void ChannelReadComplete(IChannelHandlerContext context) } [Skip] - public void ChannelWritabilityChanged(IChannelHandlerContext context) + public virtual void ChannelWritabilityChanged(IChannelHandlerContext context) { context.FireChannelWritabilityChanged(); } @@ -76,25 +76,25 @@ public virtual Task WriteAsync(IChannelHandlerContext context, object message) } [Skip] - public void Flush(IChannelHandlerContext context) + public virtual void Flush(IChannelHandlerContext context) { context.Flush(); } [Skip] - public Task BindAsync(IChannelHandlerContext context, EndPoint localAddress) + public virtual Task BindAsync(IChannelHandlerContext context, EndPoint localAddress) { return context.BindAsync(localAddress); } [Skip] - public Task ConnectAsync(IChannelHandlerContext context, EndPoint remoteAddress, EndPoint localAddress) + public virtual Task ConnectAsync(IChannelHandlerContext context, EndPoint remoteAddress, EndPoint localAddress) { return context.ConnectAsync(remoteAddress, localAddress); } [Skip] - public Task DisconnectAsync(IChannelHandlerContext context) + public virtual Task DisconnectAsync(IChannelHandlerContext context) { return context.DisconnectAsync(); } @@ -111,9 +111,10 @@ public virtual void ExceptionCaught(IChannelHandlerContext context, Exception ex context.FireExceptionCaught(exception); } - public Task DeregisterAsync(IChannelHandlerContext context) + [Skip] + public virtual Task DeregisterAsync(IChannelHandlerContext context) { - throw new NotImplementedException(); + return context.DeregisterAsync(); } [Skip] diff --git a/src/DotNetty.Transport/Channels/IChannelHandler.cs b/src/DotNetty.Transport/Channels/IChannelHandler.cs index 891868211..b86d5cfae 100644 --- a/src/DotNetty.Transport/Channels/IChannelHandler.cs +++ b/src/DotNetty.Transport/Channels/IChannelHandler.cs @@ -89,6 +89,7 @@ public interface IChannelHandler [PipelinePropagation(PropagationDirections.Inbound)] void ExceptionCaught(IChannelHandlerContext context, Exception exception); + [PipelinePropagation(PropagationDirections.Outbound)] Task DeregisterAsync(IChannelHandlerContext context); [PipelinePropagation(PropagationDirections.Outbound)]