///|
pub(all) struct IdentifyRequest {
  destination : @frame.MacAddress
  source : @frame.MacAddress
  xid : Int
} derive(Eq)

///|
pub fn encode_identify_request(request : IdentifyRequest) -> Bytes {
  let payload : Array[Byte] = []
  payload.push(Int::to_byte(255))
  payload.push(Int::to_byte(255))
  push_u16_be(payload, 0)
  encode_dcp_ethernet_frame(
    request.destination,
    request.source,
    frame_id_identify_request,
    dcp_service_id_identify,
    dcp_service_type_request,
    request.xid,
    1,
    Bytes::from_array(payload),
  )
}