public static void Commit() { BlackBoard.instance.isInitialCommitMade = true; while (BlackBoard.instance.pendingWrites.Count > 0) { BlackBoard.WriteEntry writeEntry = BlackBoard.instance.pendingWrites.Dequeue(); BlackBoard.Board board; if (BlackBoard.instance.boards.Contains(writeEntry.board)) { board = (BlackBoard.Board)BlackBoard.instance.boards[writeEntry.board]; } else { board = new BlackBoard.Board(writeEntry.board); BlackBoard.instance.boards.Add(writeEntry.board, board); } board.Write(writeEntry.id, writeEntry.value); if (board.GetWriteCount() == 1) { BlackBoard.instance.boardNames.Add(writeEntry.board); } BlackBoard.instance.writtenIDs.Add(writeEntry.id); } BlackBoard.instance.UpdateCache(); BlackBoard.instance.writtenIDs.Clear(); }
public static void WriteInstant(string board, string id, object value) { BlackBoard.WriteEntry writeEntry = new BlackBoard.WriteEntry(board, id, value); BlackBoard.Board board2; if (BlackBoard.instance.boards.Contains(writeEntry.board)) { board2 = (BlackBoard.Board)BlackBoard.instance.boards[writeEntry.board]; } else { board2 = new BlackBoard.Board(writeEntry.board); BlackBoard.instance.boards.Add(writeEntry.board, board2); } board2.WriteInstant(writeEntry.id, writeEntry.value); if (board2.GetWriteCount() == 1) { BlackBoard.instance.boardNames.Add(writeEntry.board); } }