Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ClosableStream.cs
Go to the documentation of this file.
1
using
System.IO
;
2
using
System.Threading
;
3
4
namespace
System.Net
;
5
6
internal
sealed
class
ClosableStream
:
DelegatedStream
7
{
8
private
readonly EventHandler
_onClose
;
9
10
private
int
_closed
;
11
12
internal
ClosableStream
(
Stream
stream
, EventHandler onClose)
13
: base(
stream
)
14
{
15
_onClose
= onClose;
16
}
17
18
public
override
void
Close
()
19
{
20
if
(
Interlocked
.
Increment
(ref
_closed
) == 1)
21
{
22
_onClose
?.Invoke(
this
,
new
EventArgs
());
23
}
24
}
25
}
System.EventArgs
Definition
EventArgs.cs:8
System.IO.Stream
Definition
Stream.cs:11
System.Net.ClosableStream._closed
int _closed
Definition
ClosableStream.cs:10
System.Net.ClosableStream.ClosableStream
ClosableStream(Stream stream, EventHandler onClose)
Definition
ClosableStream.cs:12
System.Net.ClosableStream._onClose
readonly EventHandler _onClose
Definition
ClosableStream.cs:8
System.Net.ClosableStream.Close
override void Close()
Definition
ClosableStream.cs:18
System.Net.ClosableStream
Definition
ClosableStream.cs:7
System.Net.DelegatedStream
Definition
DelegatedStream.cs:8
System.Threading.Interlocked.Increment
static int Increment(ref int location)
Definition
Interlocked.cs:10
System.Threading.Interlocked
Definition
Interlocked.cs:9
System.IO
Definition
ConsoleStream.cs:3
System.Net
Definition
HttpClientJsonExtensions.cs:8
System.Threading
Definition
TaskToApm.cs:3
System.ExceptionArgument.stream
@ stream
source
System.Net.Mail
System.Net
ClosableStream.cs
Generated by
1.10.0