-
Notifications
You must be signed in to change notification settings - Fork 38
/
SafeObjectPool.xml
233 lines (233 loc) · 8.42 KB
/
SafeObjectPool.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
<?xml version="1.0"?>
<doc>
<assembly>
<name>SafeObjectPool</name>
</assembly>
<members>
<member name="P:SafeObjectPool.IObjectPool`1.IsAvailable">
<summary>
是否可用
</summary>
</member>
<member name="P:SafeObjectPool.IObjectPool`1.UnavailableException">
<summary>
不可用错误
</summary>
</member>
<member name="P:SafeObjectPool.IObjectPool`1.UnavailableTime">
<summary>
不可用时间
</summary>
</member>
<member name="M:SafeObjectPool.IObjectPool`1.SetUnavailable(System.Exception,System.DateTime)">
<summary>
将对象池设置为不可用,后续 Get/GetAsync 均会报错,同时启动后台定时检查服务恢复可用
</summary>
<param name="exception"></param>
<param name="lastGetTime"></param>
<returns>由【可用】变成【不可用】时返回true,否则返回false</returns>
</member>
<member name="P:SafeObjectPool.IObjectPool`1.Statistics">
<summary>
统计对象池中的对象
</summary>
</member>
<member name="P:SafeObjectPool.IObjectPool`1.StatisticsFullily">
<summary>
统计对象池中的对象(完整)
</summary>
</member>
<member name="M:SafeObjectPool.IObjectPool`1.Get(System.Nullable{System.TimeSpan})">
<summary>
获取资源
</summary>
<param name="timeout">超时</param>
<returns></returns>
</member>
<member name="M:SafeObjectPool.IObjectPool`1.GetAsync">
<summary>
获取资源
</summary>
<returns></returns>
</member>
<member name="M:SafeObjectPool.IObjectPool`1.Return(SafeObjectPool.Object{`0},System.Boolean)">
<summary>
使用完毕后,归还资源
</summary>
<param name="obj">对象</param>
<param name="isReset">是否重新创建</param>
</member>
<member name="P:SafeObjectPool.IPolicy`1.Name">
<summary>
名称
</summary>
</member>
<member name="P:SafeObjectPool.IPolicy`1.PoolSize">
<summary>
池容量
</summary>
</member>
<member name="P:SafeObjectPool.IPolicy`1.SyncGetTimeout">
<summary>
默认获取超时设置
</summary>
</member>
<member name="P:SafeObjectPool.IPolicy`1.IdleTimeout">
<summary>
空闲时间,获取时若超出,则重新创建
</summary>
</member>
<member name="P:SafeObjectPool.IPolicy`1.AsyncGetCapacity">
<summary>
异步获取排队队列大小,小于等于0不生效
</summary>
</member>
<member name="P:SafeObjectPool.IPolicy`1.IsThrowGetTimeoutException">
<summary>
获取超时后,是否抛出异常
</summary>
</member>
<member name="P:SafeObjectPool.IPolicy`1.IsAutoDisposeWithSystem">
<summary>
监听 AppDomain.CurrentDomain.ProcessExit/Console.CancelKeyPress 事件自动释放
</summary>
</member>
<member name="P:SafeObjectPool.IPolicy`1.CheckAvailableInterval">
<summary>
后台定时检查可用性间隔秒数
</summary>
</member>
<member name="M:SafeObjectPool.IPolicy`1.OnCreate">
<summary>
对象池的对象被创建时
</summary>
<returns>返回被创建的对象</returns>
</member>
<member name="M:SafeObjectPool.IPolicy`1.OnDestroy(`0)">
<summary>
销毁对象
</summary>
<param name="obj">资源对象</param>
</member>
<member name="M:SafeObjectPool.IPolicy`1.OnGetTimeout">
<summary>
从对象池获取对象超时的时候触发,通过该方法统计
</summary>
</member>
<member name="M:SafeObjectPool.IPolicy`1.OnGet(SafeObjectPool.Object{`0})">
<summary>
从对象池获取对象成功的时候触发,通过该方法统计或初始化对象
</summary>
<param name="obj">资源对象</param>
</member>
<member name="M:SafeObjectPool.IPolicy`1.OnGetAsync(SafeObjectPool.Object{`0})">
<summary>
从对象池获取对象成功的时候触发,通过该方法统计或初始化对象
</summary>
<param name="obj">资源对象</param>
</member>
<member name="M:SafeObjectPool.IPolicy`1.OnReturn(SafeObjectPool.Object{`0})">
<summary>
归还对象给对象池的时候触发
</summary>
<param name="obj">资源对象</param>
</member>
<member name="M:SafeObjectPool.IPolicy`1.OnCheckAvailable(SafeObjectPool.Object{`0})">
<summary>
检查可用性
</summary>
<param name="obj">资源对象</param>
<returns></returns>
</member>
<member name="M:SafeObjectPool.IPolicy`1.OnAvailable">
<summary>
事件:可用时触发
</summary>
</member>
<member name="M:SafeObjectPool.IPolicy`1.OnUnavailable">
<summary>
事件:不可用时触发
</summary>
</member>
<member name="P:SafeObjectPool.Object`1.Pool">
<summary>
所属对象池
</summary>
</member>
<member name="P:SafeObjectPool.Object`1.Id">
<summary>
在对象池中的唯一标识
</summary>
</member>
<member name="P:SafeObjectPool.Object`1.Value">
<summary>
资源对象
</summary>
</member>
<member name="P:SafeObjectPool.Object`1.GetTimes">
<summary>
被获取的总次数
</summary>
</member>
<member name="P:SafeObjectPool.Object`1.LastGetTime">
最后获取时的时间
</member>
<member name="P:SafeObjectPool.Object`1.LastReturnTime">
<summary>
最后归还时的时间
</summary>
</member>
<member name="P:SafeObjectPool.Object`1.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="P:SafeObjectPool.Object`1.LastGetThreadId">
<summary>
最后获取时的线程id
</summary>
</member>
<member name="P:SafeObjectPool.Object`1.LastReturnThreadId">
<summary>
最后归还时的线程id
</summary>
</member>
<member name="M:SafeObjectPool.Object`1.ResetValue">
<summary>
重置 Value 值
</summary>
</member>
<member name="T:SafeObjectPool.ObjectPool`1">
<summary>
对象池管理类
</summary>
<typeparam name="T">对象类型</typeparam>
</member>
<member name="M:SafeObjectPool.ObjectPool`1.CheckAvailable(System.Int32)">
<summary>
后台定时检查可用性
</summary>
<param name="interval"></param>
</member>
<member name="M:SafeObjectPool.ObjectPool`1.#ctor(System.Int32,System.Func{`0},System.Action{SafeObjectPool.Object{`0}})">
<summary>
创建对象池
</summary>
<param name="poolsize">池大小</param>
<param name="createObject">池内对象的创建委托</param>
<param name="onGetObject">获取池内对象成功后,进行使用前操作</param>
</member>
<member name="M:SafeObjectPool.ObjectPool`1.#ctor(SafeObjectPool.IPolicy{`0})">
<summary>
创建对象池
</summary>
<param name="policy">策略</param>
</member>
<member name="M:SafeObjectPool.ObjectPool`1.GetFree(System.Boolean)">
<summary>
获取可用资源,或创建资源
</summary>
<returns></returns>
</member>
</members>
</doc>