process method

Future<Optional<int>> process(
  1. SessionRecord sessionRecord,
  2. PreKeySignalMessage message
)

Implementation

Future<Optional<int>> process(
    SessionRecord sessionRecord, PreKeySignalMessage message) async {
  final theirIdentityKey = message.getIdentityKey();

  if (!await _identityKeyStore.isTrustedIdentity(
      _remoteAddress, theirIdentityKey, Direction.receiving)) {
    throw UntrustedIdentityException(
        _remoteAddress.getName(), theirIdentityKey);
  }

  final unsignedPreKeyId = processV3(sessionRecord, message);

  await _identityKeyStore.saveIdentity(_remoteAddress, theirIdentityKey);

  return unsignedPreKeyId;
}