Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
SyncTextReader.cs
Go to the documentation of this file.
2
3namespace System.IO;
4
5internal sealed class SyncTextReader : TextReader
6{
7 internal readonly TextReader _in;
8
10 {
11 return (reader as SyncTextReader) ?? new SyncTextReader(reader);
12 }
13
15 {
16 _in = t;
17 }
18
19 protected override void Dispose(bool disposing)
20 {
21 if (disposing)
22 {
23 lock (this)
24 {
25 _in.Dispose();
26 }
27 }
28 }
29
30 public override int Peek()
31 {
32 lock (this)
33 {
34 return _in.Peek();
35 }
36 }
37
38 public override int Read()
39 {
40 lock (this)
41 {
42 return _in.Read();
43 }
44 }
45
46 public override int Read(char[] buffer, int index, int count)
47 {
48 lock (this)
49 {
50 return _in.Read(buffer, index, count);
51 }
52 }
53
54 public override int ReadBlock(char[] buffer, int index, int count)
55 {
56 lock (this)
57 {
58 return _in.ReadBlock(buffer, index, count);
59 }
60 }
61
62 public override string ReadLine()
63 {
64 lock (this)
65 {
66 return _in.ReadLine();
67 }
68 }
69
70 public override string ReadToEnd()
71 {
72 lock (this)
73 {
74 return _in.ReadToEnd();
75 }
76 }
77
78 public override Task<string> ReadLineAsync()
79 {
80 return Task.FromResult(ReadLine());
81 }
82
83 public override Task<string> ReadToEndAsync()
84 {
85 return Task.FromResult(ReadToEnd());
86 }
87
88 public override Task<int> ReadBlockAsync(char[] buffer, int index, int count)
89 {
90 if (buffer == null)
91 {
93 }
94 if (index < 0 || count < 0)
95 {
97 }
98 if (buffer.Length - index < count)
99 {
101 }
102 return Task.FromResult(ReadBlock(buffer, index, count));
103 }
104
105 public override Task<int> ReadAsync(char[] buffer, int index, int count)
106 {
107 if (buffer == null)
108 {
110 }
111 if (index < 0 || count < 0)
112 {
113 throw new ArgumentOutOfRangeException((index < 0) ? "index" : "count", System.SR.ArgumentOutOfRange_NeedNonNegNum);
114 }
115 if (buffer.Length - index < count)
116 {
118 }
119 return Task.FromResult(Read(buffer, index, count));
120 }
121}
readonly TextReader _in
override void Dispose(bool disposing)
static SyncTextReader GetSynchronizedTextReader(TextReader reader)
override Task< string > ReadLineAsync()
override int ReadBlock(char[] buffer, int index, int count)
override string ReadToEnd()
override Task< int > ReadBlockAsync(char[] buffer, int index, int count)
override Task< int > ReadAsync(char[] buffer, int index, int count)
override int Read(char[] buffer, int index, int count)
override string ReadLine()
override Task< string > ReadToEndAsync()
virtual int ReadBlock(char[] buffer, int index, int count)
virtual int Read()
virtual string ReadToEnd()
virtual ? string ReadLine()
virtual int Peek()
static string ArgumentNull_Buffer
Definition SR.cs:22
static string Argument_InvalidOffLen
Definition SR.cs:22
static string ArgumentOutOfRange_NeedNonNegNum
Definition SR.cs:32
Definition SR.cs:7