//called when data for any output pin is requested public void Evaluate(int SpreadMax) { if (_keysready && _valsready && _typeChanged) { PrepareDict(false); _typeChanged = false; ((object)_dict).NotifyChange(); } if (_keysready && _valsready && _dict != null) { PrepareDict(true); Clear(); ResetDefault(); Set(); RemoveAdd(); Remove(); Get(); _dictout.SetReflectedChanged(false); if (_dictout[0]?.GetHashCode() != _dict?.GetHashCode()) { _dictout.SetReflectedChanged(true); _dictout[0] = _dict; } } }
//called when data for any output pin is requested public void Evaluate(int SpreadMax) { if (_keysready && _valsready && _typeChanged) { PrepareDict(false); _typeChanged = false; ((object)_dict).NotifyChange(); } if (_keysready && _valsready && _dict != null) { PrepareDict(true); Clear(); ResetDefault(); Set(); RemoveAdd(); Remove(); Get(); var changed = FChanged[0]; _dictout.SetReflectedChanged(false); if (_dictout[0]?.GetHashCode() != _dict?.GetHashCode()) { _dictout.SetReflectedChanged(true); _dictout[0] = _dict; changed = true; } _outKeys.SetReflectedChanged(false); _queryVals.SetReflectedChanged(false); if (changed || _getKeys.Spread.IsChanged || FGetAll.IsChanged) { _outKeys.SetReflectedChanged(true); _queryVals.SetReflectedChanged(true); } } }
//called when data for any output pin is requested public void Evaluate(int SpreadMax) { if (!_pgready) { return; } if (_typeChanged || _firstFrame || Input.IsChanged) { Success.SliceCount = Input.SliceCount; _output.Spread.SliceCount = Input.SliceCount; _input.ResizeAndDismiss(Input.SliceCount, i => new byte[0]); for (int i = 0; i < Input.SliceCount; i++) { if (Input[i] != null && _input[i].Length < Input[i].Length) { _input[i] = new byte[Input[i].Length]; } if (Input[i] == null || Input[i].Read(_input[i], 0, (int)Input[i].Length) <= 0) { _output[i] = null; continue; } try { if (_output[i] == null) { _output[i] = _ceras.Deserialize <object>(_input[i]); } else { var obj = _output[i]; _ceras.Deserialize(ref obj, _input[i]); _output[i] = obj; } Success[i] = true; } catch { Success[i] = false; _ceras = CerasSerializerHelper.Serializer(); _output[i] = null; continue; } } _output.SetReflectedChanged(true); } else { _output.SetReflectedChanged(false); } if (_firstFrame) { _firstFrame = false; } if (_typeChanged) { _typeChanged = false; } }