Esempio n. 1
0
  /** {@inheritDoc} */
  @Override
  protected void processOutStream(int type, BinaryRawWriterEx writer)
      throws IgniteCheckedException {
    switch (type) {
      case OP_CACHE_CONFIG_PARAMETERS:
        TransactionConfiguration txCfg =
            platformCtx.kernalContext().config().getTransactionConfiguration();

        writer.writeInt(txCfg.getDefaultTxConcurrency().ordinal());
        writer.writeInt(txCfg.getDefaultTxIsolation().ordinal());
        writer.writeLong(txCfg.getDefaultTxTimeout());

        break;

      case OP_METRICS:
        TransactionMetrics metrics = txs.metrics();

        writer.writeTimestamp(new Timestamp(metrics.commitTime()));
        writer.writeTimestamp(new Timestamp(metrics.rollbackTime()));
        writer.writeInt(metrics.txCommits());
        writer.writeInt(metrics.txRollbacks());

        break;

      default:
        super.processOutStream(type, writer);
    }
  }
Esempio n. 2
0
  /** {@inheritDoc} */
  @Override
  protected void processInStreamOutStream(
      int type, BinaryRawReaderEx reader, BinaryRawWriterEx writer) throws IgniteCheckedException {
    switch (type) {
      case OP_START:
        {
          TransactionConcurrency txConcurrency =
              TransactionConcurrency.fromOrdinal(reader.readInt());

          assert txConcurrency != null;

          TransactionIsolation txIsolation = TransactionIsolation.fromOrdinal(reader.readInt());

          assert txIsolation != null;

          Transaction tx =
              txs.txStart(txConcurrency, txIsolation, reader.readLong(), reader.readInt());

          long id = registerTx(tx);

          writer.writeLong(id);

          return;
        }
    }

    super.processInStreamOutStream(type, reader, writer);
  }