def send_message(adu, sock):
sock.sendall(adu)<EOL>exception_adu_size = <NUM_LIT:9><EOL>response_error_adu = recv_exactly(sock.recv, exception_adu_size)<EOL>raise_for_exception_adu(response_error_adu)<EOL>expected_response_size =expected_response_pdu_size_from_request_pdu(adu[<NUM_LIT:7>:]) + <NUM_LIT:7><EOL>response_remainder = recv_exactly(<EOL>sock.recv, expected_response_size - exception_adu_size)<EOL>return parse_response_adu(response_error_adu + response_remainder, adu)<EOL>
Send ADU over socket to to server and return parsed response.

    :param adu: Request ADU.
    :param sock: Socket instance.
    :return: Parsed response from server.