// // RSL State machine implementation // public override bool LoadState(ManagedRSLCheckpointStream reader) { if (reader == null) { m_score = 0; return(false); } int totalRead = 0; int read = 0; while (m_size > totalRead) { try { read = reader.Read(m_state, totalRead, (int)m_size - totalRead); Debug.Assert(read >= 0); } catch (IOException ioe) { Console.WriteLine("Error: " + ioe); return(false); } totalRead += read; } m_score = BitConverter.ToInt32(m_state, sizeof(Int32)); return(true); }
/// <summary> /// Saves the current state in a checkpoint file /// </summary> /// <param name="writer"></param> public override void SaveState(ManagedRSLCheckpointStream stream) { foreach (UInt32 i in _state) { Byte[] buffer = System.BitConverter.GetBytes(i); stream.Write(buffer, 0, buffer.Length); } }
/// <summary> /// This method is called by the RSL engine at startup, read the last saved checkpoint /// </summary> /// <param name="reader"></param> public override bool LoadState(ManagedRSLCheckpointStream stream) { if (stream != null) { Byte[] buffer = new byte[4]; while (stream.Read(buffer, 0, 4) != 0) { _state.Add(System.BitConverter.ToUInt32(buffer, 0)); } } return(true); }
public override void SaveState(ManagedRSLCheckpointStream writer) { byte[] score = BitConverter.GetBytes(m_score); for (int i = 0; i < score.Length; i++) { m_state[i] = score[i]; } try { writer.Write(m_state, 0, m_size); } catch (IOException ioe) { Console.WriteLine("Error: " + ioe); } }
public override void SaveState(ManagedRSLCheckpointStream gc_writer) { this.Log(TestTracer.EventType.SaveStateCalled, " SaveState was called: gc_writer = {0}", gc_writer); if (gc_writer == null) { throw new ArgumentNullException("gc_writer"); } using (BinaryWriter bw = new BinaryWriter(gc_writer, encoding, true)) { foreach (Command cmd in this.commands) { cmd.Serialize(bw); } } }
public override bool LoadState(ManagedRSLCheckpointStream stream) { Console.WriteLine(this.Self.MemberId + ".LoadState"); if (stream != null) { int length = (int)stream.Length; Byte[] buffer = new byte[length]; if (stream.Read(buffer, 0, length) != (int)length) { return(false); } this.InternalState = System.BitConverter.ToInt32(buffer, 0); return(true); } return(true); }
public override bool LoadState(ManagedRSLCheckpointStream gc_reader) { this.Log(TestTracer.EventType.LoadStateCalled, " LoadState was called: gc_reader = {0}", gc_reader); // if we are here, that is because Initialize was called. this.needsUnloading = true; if (gc_reader == null) { return(true); } try { this.commands.Clear(); using (BinaryReader br = new BinaryReader(gc_reader, encoding, true)) { while (true) { Command cmd = Command.Deserialize(br); if (cmd == null) { break; } bool ignore = false; cmd.ExecuteInSecondary(this, ref ignore); } } return(true); } catch (Exception e) { Debug.WriteLine(e); } return(false); }
public override void SaveState(ManagedRSLCheckpointStream stream) { Console.WriteLine(this.Self.MemberId + ".SaveState"); Byte[] buffer = System.BitConverter.GetBytes(this.InternalState); stream.Write(buffer, 0, buffer.Length); }