통신 모델, 동기화 및 중단
개략적으로 이 설명서에서는 다음 두 가지 유형의 개체를 정의합니다.
- Wi-Fi 디바이스를 나타내는 어댑터입니다.
- 어댑터의 고유한 MAC 및 PHY 엔터티를 나타내는 포트입니다.
이러한 개체에 대한 자세한 내용은 Wi-Fi 디바이스 모델 및 개체를 참조하세요. 허용되는 작업 집합인 명령은 이러한 각 개체에 대해 정의됩니다. 명령은 속성 및 작업으로 추가로 분류됩니다.
속성 명령은 간단한 명령입니다(예: 신호 강도 가져오기, 현재 BSS 목록 가져오기 및 패킷 필터 설정). 짧은 시간 안에 완료되며 구현하기가 복잡하지 않습니다.
작업 명령은 완료하는 데 몇 초 정도 걸릴 수 있는 복잡한 작업입니다. 예를 들어 Wi-Fi 검사 작업은 이 모델의 작업으로 분류됩니다.
IHV 구성 요소에 발급된 모든 명령을 비동기적으로 완료할 수 있습니다.
메시지 시퀀스
각 명령 유형에 대한 메시지 시퀀스는 다음 그림에 나와 있습니다.
그림 1은 작업 명령 순서를 보여줍니다.
그림 2는 속성 명령 흐름을 보여줍니다.
그림 3은 표시 흐름을 보여 줍니다.
동기화
IHV 구성 요소 구현을 단순하게 유지하기 위해 모델은 다음 동기화 규칙을 정의합니다.
- 명령은 그림 1과 그림 2의 1단계와 3단계 간에 항상 직렬화됩니다. 예를 들어 3단계에서 어댑터에서 표시될 때까지 어댑터에 새 명령이 실행되지 않습니다. 이는 모든 속성이 서로 직렬화된다는 의미이기도 합니다.
- 모든 작업 명령은 그림 1의 1단계와 4단계 간에 직렬화됩니다. 예를 들어 어댑터에서 한 번에 하나의 작업만 실행됩니다. 그러나 작업이 시작되면(그림 1의 3단계) 어댑터는 속성 명령 요청을 가져올 수 있습니다. 3단계와 4단계는 모두 다음 작업 명령을 보내기 전에 완료해야 합니다.
- 속성 집합 명령은 작업이 시작된 후 보낼 수 있는 명령과 보류 중인 작업으로 직렬화해야 하는 두 가지 형식입니다.
- 데이터 경로는 설명서의 뒷부분에 설명된 특정 사례를 제외하고 명령 경로로 직렬화되지 않습니다.
- 동기화 scope 어댑터 수준 scope.
- 작업의 하위 집합은 시작된 후 중단될 수 있습니다. 즉, 우선 순위가 낮은 작업(B)이 미해결 상태에서 더 높은 우선 순위 작업(A)이 도착하는 경우 호스트에서 B를 중단할 수 있습니다. 우선 순위 결정의 합리화는 이 설명서의 scope 넘어 사용자 시나리오에 따라 달라집니다.
- 작업 명령의 경우 3단계가 완료되기 전에 4단계가 올 수 있습니다. 그러나 4단계가 표시되면 3단계는 실패할 수 없습니다.
중단
대부분의 작업은 시작된 후 중단될 수 있습니다. 중단의 목적은 전체 표시를 전송하여 작업을 신속하게 완료하도록 어댑터를 트리거하는 것입니다(그림 1의 4단계). 중단은 그림 1의 3단계와 4단계 사이의 창에서만 허용됩니다. 중단을 받으면 어댑터는 50밀리초 이내에 작업을 완료해야 합니다. 대부분의 명령에서 중단을 받으면 어댑터가 명령을 시작하기 전에 상태로 롤백할 필요가 없습니다. 실행 중인 중단 명령과 호스트 구성 요소에 도착하는 완료 사이에 경합 조건이 존재합니다. 이 경우 IHV 구성 요소가 이미 완료된 작업에 대한 중단을 수신하는 경우 중단 작업을 처리하기 위해 IHV 구성 요소에서 추가 작업이 필요하지 않습니다. 작업을 중단하는 것은 IHV 구성 요소가 작업을 최대한 빨리 클린 한다는 신호일 뿐입니다. 중단이 실행되면 명령 완성 의미 체계가 변경되지 않습니다. abort 속성 명령에 대한 완료와 작업 완료 표시는 모두 모든 경우에 적절하게 통보되어야 합니다.
속성은 중단될 수 없도록 짧은 시간 안에 완료되어야 합니다.
작업 명령에는 호스트가 중단을 위해 특정 명령을 대상으로 지정할 수 있는 고유 식별자가 있습니다.