import Foundation

protocol DeviceRequest {

    associatedtype Response

    static var type: BluetoothRequestType { get }

    var payload: Data { get }

    func makeResponse(from responseData: Data, responseType: BluetoothResponseType) -> Response?
}

extension DeviceRequest {

    var type: BluetoothRequestType { Self.type }
}
