Dreamine.PLC.Mitsubishi.MC 1.0.1
Dreamine.PLC.Mitsubishi.MC 산업 자동화 및 I/O 기능을 제공합니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.PLC.Mitsubishi.MC.Transport.FakeMitsubishiMcTransport 클래스 참조sealed

더 자세히 ...

Dreamine.PLC.Mitsubishi.MC.Transport.FakeMitsubishiMcTransport에 대한 상속 다이어그램 :
Dreamine.PLC.Mitsubishi.MC.Transport.FakeMitsubishiMcTransport에 대한 협력 다이어그램:

Public 멤버 함수

void EnqueueResponse (byte[] responseFrame)
Task< PlcResult > ConnectAsync (string host, int port, int timeoutMs, CancellationToken cancellationToken=default)
Task< PlcResult > DisconnectAsync (CancellationToken cancellationToken=default)
Task< PlcResult< byte[]> > SendAndReceiveAsync (IReadOnlyList< byte > requestFrame, int receiveTimeoutMs, int retryCount, CancellationToken cancellationToken=default)
ValueTask DisposeAsync ()

속성

bool IsConnected [get, private set]
IReadOnlyList< byte[]> SentFrames [get]

Private 속성

readonly Queue< byte[]> _responses = new()
readonly List< byte[]> _sentFrames = new()

상세한 설명

테스트와 프로토콜 검증용 가짜 Mitsubishi MC 전송을 제공합니다.

FakeMitsubishiMcTransport.cs 파일의 13 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ ConnectAsync()

Task< PlcResult > Dreamine.PLC.Mitsubishi.MC.Transport.FakeMitsubishiMcTransport.ConnectAsync ( string host,
int port,
int timeoutMs,
CancellationToken cancellationToken = default )
inline

가짜 전송을 연결 상태로 설정합니다.

매개변수
host사용하지 않는 호스트입니다.
port사용하지 않는 포트입니다.
timeoutMs사용하지 않는 제한 시간입니다.
cancellationToken취소 토큰입니다.
반환값
연결 결과입니다.
예외
OperationCanceledException취소된 경우 발생합니다.

Dreamine.PLC.Mitsubishi.MC.Transport.IMitsubishiMcTransport를 구현.

FakeMitsubishiMcTransport.cs 파일의 134 번째 라인에서 정의되었습니다.

139 {
140 cancellationToken.ThrowIfCancellationRequested();
141
142 IsConnected = true;
143
144 return Task.FromResult(PlcResult.Success());
145 }

다음을 참조함 : IsConnected.

◆ DisconnectAsync()

Task< PlcResult > Dreamine.PLC.Mitsubishi.MC.Transport.FakeMitsubishiMcTransport.DisconnectAsync ( CancellationToken cancellationToken = default)
inline

가짜 전송을 연결 해제 상태로 설정합니다.

매개변수
cancellationToken취소 토큰입니다.
반환값
연결 해제 결과입니다.
예외
OperationCanceledException취소된 경우 발생합니다.

Dreamine.PLC.Mitsubishi.MC.Transport.IMitsubishiMcTransport를 구현.

FakeMitsubishiMcTransport.cs 파일의 176 번째 라인에서 정의되었습니다.

177 {
178 cancellationToken.ThrowIfCancellationRequested();
179
180 IsConnected = false;
181
182 return Task.FromResult(PlcResult.Success());
183 }

다음을 참조함 : IsConnected.

◆ DisposeAsync()

ValueTask Dreamine.PLC.Mitsubishi.MC.Transport.FakeMitsubishiMcTransport.DisposeAsync ( )
inline

연결 상태와 저장된 프레임을 초기화합니다.

반환값
완료된 해제 작업입니다.

FakeMitsubishiMcTransport.cs 파일의 291 번째 라인에서 정의되었습니다.

292 {
293 IsConnected = false;
294 _responses.Clear();
295 _sentFrames.Clear();
296
297 return ValueTask.CompletedTask;
298 }

다음을 참조함 : _responses, _sentFrames, IsConnected.

◆ EnqueueResponse()

void Dreamine.PLC.Mitsubishi.MC.Transport.FakeMitsubishiMcTransport.EnqueueResponse ( byte[] responseFrame)
inline

다음 송수신에서 반환할 응답 프레임을 큐에 추가합니다.

매개변수
responseFrame응답 프레임입니다.
예외
ArgumentNullException프레임이 null인 경우 발생합니다.

FakeMitsubishiMcTransport.cs 파일의 77 번째 라인에서 정의되었습니다.

78 {
79 ArgumentNullException.ThrowIfNull(responseFrame);
80
81 _responses.Enqueue(responseFrame);
82 }

다음을 참조함 : _responses.

◆ SendAndReceiveAsync()

Task< PlcResult< byte[]> > Dreamine.PLC.Mitsubishi.MC.Transport.FakeMitsubishiMcTransport.SendAndReceiveAsync ( IReadOnlyList< byte > requestFrame,
int receiveTimeoutMs,
int retryCount,
CancellationToken cancellationToken = default )
inline

요청을 기록하고 큐에 있는 다음 응답을 반환합니다.

매개변수
requestFrame요청 프레임입니다.
receiveTimeoutMs사용하지 않는 제한 시간입니다.
retryCount사용하지 않는 재시도 수입니다.
cancellationToken취소 토큰입니다.
반환값
큐의 응답 결과입니다.
예외
ArgumentNullException요청이 null인 경우 발생합니다.
OperationCanceledException취소된 경우 발생합니다.

Dreamine.PLC.Mitsubishi.MC.Transport.IMitsubishiMcTransport를 구현.

FakeMitsubishiMcTransport.cs 파일의 242 번째 라인에서 정의되었습니다.

247 {
248 ArgumentNullException.ThrowIfNull(requestFrame);
249
250 cancellationToken.ThrowIfCancellationRequested();
251
252 if (!IsConnected)
253 {
254 return Task.FromResult(
255 PlcResult<byte[]>.Failure("The fake Mitsubishi MC transport is not connected."));
256 }
257
258 if (requestFrame.Count == 0)
259 {
260 return Task.FromResult(
261 PlcResult<byte[]>.Failure("The request frame must not be empty."));
262 }
263
264 _sentFrames.Add(requestFrame as byte[] ?? requestFrame.ToArray());
265
266 if (_responses.Count == 0)
267 {
268 return Task.FromResult(
269 PlcResult<byte[]>.Failure("No fake Mitsubishi MC response frame was queued."));
270 }
271
272 return Task.FromResult(
273 PlcResult<byte[]>.Success(_responses.Dequeue()));
274 }

다음을 참조함 : _responses, _sentFrames, IsConnected.

멤버 데이터 문서화

◆ _responses

readonly Queue<byte[]> Dreamine.PLC.Mitsubishi.MC.Transport.FakeMitsubishiMcTransport._responses = new()
private

responses 값을 보관합니다.

FakeMitsubishiMcTransport.cs 파일의 23 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : DisposeAsync(), EnqueueResponse(), SendAndReceiveAsync().

◆ _sentFrames

readonly List<byte[]> Dreamine.PLC.Mitsubishi.MC.Transport.FakeMitsubishiMcTransport._sentFrames = new()
private

sent Frames 값을 보관합니다.

FakeMitsubishiMcTransport.cs 파일의 32 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : DisposeAsync(), SendAndReceiveAsync().

속성 문서화

◆ IsConnected

bool Dreamine.PLC.Mitsubishi.MC.Transport.FakeMitsubishiMcTransport.IsConnected
getprivate set

가짜 전송 연결 상태를 가져옵니다.

Dreamine.PLC.Mitsubishi.MC.Transport.IMitsubishiMcTransport를 구현.

FakeMitsubishiMcTransport.cs 파일의 42 번째 라인에서 정의되었습니다.

42{ get; private set; }

다음에 의해서 참조됨 : ConnectAsync(), DisconnectAsync(), DisposeAsync(), SendAndReceiveAsync().

◆ SentFrames

IReadOnlyList<byte[]> Dreamine.PLC.Mitsubishi.MC.Transport.FakeMitsubishiMcTransport.SentFrames
get

가짜 전송을 통해 보낸 프레임을 가져옵니다.

FakeMitsubishiMcTransport.cs 파일의 52 번째 라인에서 정의되었습니다.


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: