Dreamine.PLC.Omron.Fins
1.0.1
Dreamine.PLC.Omron.Fins 산업 자동화 및 I/O 기능을 제공합니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
FakeOmronFinsTransport.cs
이 파일의 문서화 페이지로 가기
1
using
Dreamine.PLC.Abstractions.Results;
2
3
namespace
Dreamine.PLC.Omron.Fins.Transport
;
4
13
public
sealed
class
FakeOmronFinsTransport
:
IOmronFinsTransport
14
{
23
private
readonly Queue<byte[]>
_responses
=
new
();
24
33
public
bool
IsConnected
{
get
;
private
set
; }
34
43
public
List<byte[]>
SentRequests
{
get
; } = [];
44
69
public
void
EnqueueResponse
(
byte
[] response)
70
{
71
_responses
.Enqueue(response);
72
}
73
98
public
Task<PlcResult>
ConnectAsync
(CancellationToken cancellationToken =
default
)
99
{
100
IsConnected
=
true
;
101
return
Task.FromResult(PlcResult.Success());
102
}
103
128
public
Task<PlcResult>
DisconnectAsync
(CancellationToken cancellationToken =
default
)
129
{
130
IsConnected
=
false
;
131
return
Task.FromResult(PlcResult.Success());
132
}
133
190
public
Task<PlcResult<byte[]>>
SendAndReceiveAsync
(
191
IReadOnlyList<byte> requestFrame,
192
int
receiveTimeoutMs,
193
int
retryCount,
194
CancellationToken cancellationToken =
default
)
195
{
196
SentRequests
.Add(requestFrame.ToArray());
197
if
(
_responses
.Count == 0)
198
{
199
return
Task.FromResult(PlcResult<
byte
[]>.Failure(
"No fake FINS response has been queued."
));
200
}
201
202
return
Task.FromResult(PlcResult<
byte
[]>.Success(
_responses
.Dequeue()));
203
}
204
221
public
ValueTask
DisposeAsync
()
222
{
223
IsConnected
=
false
;
224
return
ValueTask.CompletedTask;
225
}
226
}
Dreamine.PLC.Omron.Fins.Transport
Definition
FakeOmronFinsTransport.cs:3
Dreamine.PLC.Omron.Fins.Transport.FakeOmronFinsTransport
Definition
FakeOmronFinsTransport.cs:14
Dreamine.PLC.Omron.Fins.Transport.FakeOmronFinsTransport.DisconnectAsync
Task< PlcResult > DisconnectAsync(CancellationToken cancellationToken=default)
Definition
FakeOmronFinsTransport.cs:128
Dreamine.PLC.Omron.Fins.Transport.FakeOmronFinsTransport.EnqueueResponse
void EnqueueResponse(byte[] response)
Definition
FakeOmronFinsTransport.cs:69
Dreamine.PLC.Omron.Fins.Transport.FakeOmronFinsTransport.SentRequests
List< byte[]> SentRequests
Definition
FakeOmronFinsTransport.cs:43
Dreamine.PLC.Omron.Fins.Transport.FakeOmronFinsTransport.ConnectAsync
Task< PlcResult > ConnectAsync(CancellationToken cancellationToken=default)
Definition
FakeOmronFinsTransport.cs:98
Dreamine.PLC.Omron.Fins.Transport.FakeOmronFinsTransport.DisposeAsync
ValueTask DisposeAsync()
Definition
FakeOmronFinsTransport.cs:221
Dreamine.PLC.Omron.Fins.Transport.FakeOmronFinsTransport.IsConnected
bool IsConnected
Definition
FakeOmronFinsTransport.cs:33
Dreamine.PLC.Omron.Fins.Transport.FakeOmronFinsTransport._responses
readonly Queue< byte[]> _responses
Definition
FakeOmronFinsTransport.cs:23
Dreamine.PLC.Omron.Fins.Transport.FakeOmronFinsTransport.SendAndReceiveAsync
Task< PlcResult< byte[]> > SendAndReceiveAsync(IReadOnlyList< byte > requestFrame, int receiveTimeoutMs, int retryCount, CancellationToken cancellationToken=default)
Definition
FakeOmronFinsTransport.cs:190
Dreamine.PLC.Omron.Fins.Transport.IOmronFinsTransport
Definition
IOmronFinsTransport.cs:14
Transport
FakeOmronFinsTransport.cs
다음에 의해 생성됨 :
1.17.0