initialize method
Implementation
Future<InitializeResponse> initialize(InitializeRequest request) async {
_requireState(
AcpV1ConnectionState.created,
operation: AcpV1Methods.initialize,
);
_state = AcpV1ConnectionState.initializing;
try {
final response =
await _sendRequest<InitializeRequest, InitializeResponse>(
AcpV1Methods.initialize,
request,
);
if (response.protocolVersion.value != 1) {
throw AcpV1ConnectionStateException(
'The peer selected unsupported ACP protocol version '
'${response.protocolVersion.value}; expected 1.',
);
}
_initializeResponse = response;
_state = AcpV1ConnectionState.ready;
return response;
} catch (_) {
_state = AcpV1ConnectionState.failed;
await _peer.close();
rethrow;
}
}