public override Msg ReplyFromServer() { IServerMessageDispatcher dispatcher = ServerMessageDispatcher(); lock (ContainerLock()) { LocalTransaction trans = ServerTransaction(); long replicationRecordId = ReadLong(); long timestamp = ReadLong(); IList concurrentTimestamps = trans.ConcurrentReplicationTimestamps(); ServerMessageDispatcher().Server().BroadcastReplicationCommit(timestamp, concurrentTimestamps ); ReplicationRecord replicationRecord = (ReplicationRecord)Container().GetByID(trans , replicationRecordId); Container().Activate(trans, replicationRecord, new FixedActivationDepth(int.MaxValue )); replicationRecord.SetVersion(timestamp); replicationRecord.ConcurrentTimestamps(concurrentTimestamps); replicationRecord.Store(trans); Container().StoreAfterReplication(trans, replicationRecord, Container().UpdateDepthProvider ().ForDepth(int.MaxValue), false); trans.Commit(dispatcher); committedInfo = dispatcher.CommittedInfo(); Transaction().UseDefaultTransactionTimestamp(); } return(Msg.Ok); }
public virtual Msg ReplyFromServer() { IServerMessageDispatcher dispatcher = ServerMessageDispatcher(); lock (ContainerLock()) { ServerTransaction().Commit(dispatcher); committedInfo = dispatcher.CommittedInfo(); } return(Msg.Ok); }