protected void dataExists(AbstractShardDataTreeTransaction<?> transaction, DataExists message) { if (checkClosed(transaction)) { return; } final YangInstanceIdentifier path = message.getPath(); boolean exists = transaction.getSnapshot().readNode(path).isPresent(); getSender().tell(new DataExistsReply(exists, message.getVersion()).toSerializable(), getSelf()); }
protected void readData(AbstractShardDataTreeTransaction<?> transaction, ReadData message) { if (checkClosed(transaction)) { return; } final YangInstanceIdentifier path = message.getPath(); Optional<NormalizedNode<?, ?>> optional = transaction.getSnapshot().readNode(path); ReadDataReply readDataReply = new ReadDataReply(optional.orNull(), message.getVersion()); sender().tell(readDataReply.toSerializable(), self()); }
private boolean checkClosed(AbstractShardDataTreeTransaction<?> transaction) { final boolean ret = transaction.isClosed(); if (ret) { shardStats.incrementFailedReadTransactionsCount(); getSender() .tell( new akka.actor.Status.Failure(new ReadFailedException("Transaction is closed")), getSelf()); } return ret; }