首页 > 代码库 > IReferenceCounted DotNetty.Common

IReferenceCounted DotNetty.Common

 1 // Copyright (c) Microsoft. All rights reserved. 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information. 3  4 namespace DotNetty.Common 5 { 6     /// <summary> 7     /// 引用计数的可复用对象的接口 8     /// </summary> 9     public interface IReferenceCounted10     {11         /// <summary>12         /// 返回此对象的引用计数13         /// </summary>14         int ReferenceCount { get; }15 16         /// <summary>17         /// 保留 引用计数 +118         /// </summary>19         IReferenceCounted Retain();20 21         /// <summary>22         ///  增加引用计数   <see cref="increment" />.23         /// </summary>24         IReferenceCounted Retain(int increment);25 26         /// <summary>27         ///   触摸 为调试目的,记录当前对象的访问位置。28         ///   如果这个对象是确定被泄露,信息记录这一操作 29         /// </summary>30         /// <returns></returns>31         IReferenceCounted Touch();32 33         /// <summary>34         ///     记录该对象的当前访问的位置,用于调试目的额外的任意信息。35         ///     如果该对象被确定为泄漏,此操作记录的信息将通过 资源泄漏检测器 <see cref="ResourceLeakDetector" /> 提供给您36         ///     37         /// </summary>38         IReferenceCounted Touch(object hint);39 40         /// <summary>41         ///   减少引用计数1和释放该对象的引用计数达到0时。42         /// </summary>43         /// <returns>true :当且仅当引用计数为0,此对象已经被释放</returns>44         bool Release();45 46         /// <summary>47         ///  减少引用计数,释放该对象如果引用计数为0时 <see cref="decrement" />  48         /// </summary>49         /// <returns>true 当且仅当引用计数为0,此对象已被释放</returns>50         bool Release(int decrement);51     }52 }

 

IReferenceCounted DotNetty.Common