From fad6d830fdf30f8c8f111688c2c0ecdd9fa2abfe Mon Sep 17 00:00:00 2001 From: makeecat Date: Mon, 27 Jan 2025 12:45:36 +0000 Subject: [PATCH] deploy: a1b8634d9c8822849c8e0ccfab0f7b1e0b1cd6c8 --- cu29/all.html | 2 +- cu29/config/fn.read_configuration.html | 2 +- cu29/config/fn.read_configuration_str.html | 2 +- cu29/config/index.html | 2 +- cu29/config/struct.Cnx.html | 2 +- cu29/config/struct.ComponentConfig.html | 2 +- cu29/config/struct.CuConfig.html | 2 +- cu29/config/struct.LoggingConfig.html | 2 +- cu29/config/struct.MonitorConfig.html | 2 +- cu29/config/struct.Node.html | 2 +- cu29/config/struct.Value.html | 2 +- cu29/config/type.NodeId.html | 2 +- cu29/copperlist/enum.CopperListState.html | 2 +- cu29/copperlist/index.html | 2 +- cu29/copperlist/struct.CopperLiskMask.html | 2 +- cu29/copperlist/struct.CopperList.html | 2 +- cu29/copperlist/struct.CuListsManager.html | 2 +- cu29/copperlist/type.AscIter.html | 2 +- cu29/copperlist/type.AscIterMut.html | 2 +- cu29/copperlist/type.Iter.html | 2 +- cu29/copperlist/type.IterMut.html | 2 +- cu29/curuntime/enum.CuExecutionUnit.html | 2 +- cu29/curuntime/enum.CuTaskType.html | 2 +- cu29/curuntime/fn.compute_runtime_plan.html | 2 +- cu29/curuntime/fn.find_task_type_for_id.html | 2 +- cu29/curuntime/index.html | 2 +- cu29/curuntime/struct.CopperContext.html | 2 +- cu29/curuntime/struct.CuExecutionLoop.html | 2 +- cu29/curuntime/struct.CuExecutionStep.html | 2 +- cu29/curuntime/struct.CuRuntime.html | 2 +- cu29/cutask/index.html | 2 +- cu29/cutask/struct.CuCompactString.html | 2 +- cu29/cutask/struct.CuMsg.html | 2 +- cu29/cutask/struct.CuMsgMetadata.html | 2 +- cu29/cutask/trait.CuMsgPack.html | 2 +- cu29/cutask/trait.CuMsgPayload.html | 2 +- cu29/cutask/trait.CuSinkTask.html | 2 +- cu29/cutask/trait.CuSrcTask.html | 2 +- cu29/cutask/trait.CuTask.html | 2 +- cu29/cutask/trait.Freezable.html | 2 +- cu29/enum.UnifiedLogType.html | 2 +- cu29/fn.read_configuration.html | 2 +- cu29/index.html | 2 +- cu29/macro.input_msg.html | 2 +- cu29/macro.output_msg.html | 2 +- cu29/monitoring/enum.CuTaskState.html | 2 +- cu29/monitoring/enum.Decision.html | 2 +- cu29/monitoring/index.html | 2 +- cu29/monitoring/static.GLOBAL.html | 2 +- cu29/monitoring/struct.CountingAllocator.html | 2 +- .../struct.CuDurationStatistics.html | 2 +- cu29/monitoring/struct.LiveStatistics.html | 2 +- cu29/monitoring/struct.NoMonitor.html | 2 +- .../monitoring/struct.ScopedAllocCounter.html | 2 +- cu29/monitoring/trait.CuMonitor.html | 2 +- cu29/payload/index.html | 2 +- cu29/payload/struct.CuArray.html | 2 +- cu29/prelude/attr.copper_runtime.html | 2 +- .../prelude/config/fn.read_configuration.html | 2 +- .../config/fn.read_configuration_str.html | 2 +- cu29/prelude/config/index.html | 2 +- cu29/prelude/config/struct.Cnx.html | 2 +- .../config/struct.ComponentConfig.html | 2 +- cu29/prelude/config/struct.CuConfig.html | 2 +- cu29/prelude/config/struct.LoggingConfig.html | 2 +- cu29/prelude/config/struct.MonitorConfig.html | 2 +- cu29/prelude/config/struct.Node.html | 2 +- cu29/prelude/config/struct.Value.html | 2 +- cu29/prelude/config/type.NodeId.html | 2 +- cu29/prelude/constant.ANONYMOUS.html | 2 +- .../constant.MAX_LOG_PARAMS_ON_STACK.html | 2 +- .../copperlist/enum.CopperListState.html | 2 +- cu29/prelude/copperlist/index.html | 2 +- .../copperlist/struct.CopperLiskMask.html | 2 +- .../prelude/copperlist/struct.CopperList.html | 2 +- .../copperlist/struct.CuListsManager.html | 2 +- cu29/prelude/copperlist/type.AscIter.html | 2 +- cu29/prelude/copperlist/type.AscIterMut.html | 2 +- cu29/prelude/copperlist/type.Iter.html | 2 +- cu29/prelude/copperlist/type.IterMut.html | 2 +- .../curuntime/enum.CuExecutionUnit.html | 2 +- cu29/prelude/curuntime/enum.CuTaskType.html | 2 +- .../curuntime/fn.compute_runtime_plan.html | 2 +- .../curuntime/fn.find_task_type_for_id.html | 2 +- cu29/prelude/curuntime/index.html | 2 +- .../curuntime/struct.CopperContext.html | 2 +- .../curuntime/struct.CuExecutionLoop.html | 2 +- .../curuntime/struct.CuExecutionStep.html | 2 +- cu29/prelude/curuntime/struct.CuRuntime.html | 2 +- cu29/prelude/cutask/index.html | 2 +- .../cutask/struct.CuCompactString.html | 2 +- cu29/prelude/cutask/struct.CuMsg.html | 2 +- cu29/prelude/cutask/struct.CuMsgMetadata.html | 2 +- cu29/prelude/cutask/trait.CuMsgPack.html | 2 +- cu29/prelude/cutask/trait.CuMsgPayload.html | 2 +- cu29/prelude/cutask/trait.CuSinkTask.html | 2 +- cu29/prelude/cutask/trait.CuSrcTask.html | 2 +- cu29/prelude/cutask/trait.CuTask.html | 2 +- cu29/prelude/cutask/trait.Freezable.html | 2 +- cu29/prelude/enum.AllocatedSection.html | 2 +- cu29/prelude/enum.CopperListState.html | 2 +- cu29/prelude/enum.CuExecutionUnit.html | 2 +- cu29/prelude/enum.CuHandleInner.html | 2 +- cu29/prelude/enum.CuTaskCallbackState.html | 2 +- cu29/prelude/enum.CuTaskState.html | 2 +- cu29/prelude/enum.CuTaskType.html | 2 +- cu29/prelude/enum.Decision.html | 2 +- cu29/prelude/enum.SimOverride.html | 2 +- cu29/prelude/enum.Tov.html | 2 +- cu29/prelude/enum.UnifiedLogType.html | 2 +- cu29/prelude/enum.UnifiedLogger.html | 2 +- cu29/prelude/enum.Value.html | 2 +- cu29/prelude/fn.compute_runtime_plan.html | 2 +- cu29/prelude/fn.default_log_index_dir.html | 2 +- cu29/prelude/fn.find_task_type_for_id.html | 2 +- cu29/prelude/fn.format_logline.html | 2 +- cu29/prelude/fn.log.html | 2 +- cu29/prelude/fn.log_debug_mode.html | 2 +- cu29/prelude/fn.pools_statistics.html | 2 +- cu29/prelude/fn.read_configuration.html | 2 +- cu29/prelude/fn.read_configuration_str.html | 2 +- cu29/prelude/fn.read_interned_strings.html | 2 +- cu29/prelude/fn.rebuild_logline.html | 2 +- cu29/prelude/fn.stream_write.html | 2 +- cu29/prelude/fn.to_value.html | 2 +- cu29/prelude/index.html | 2 +- cu29/prelude/macro.debug.html | 2 +- cu29/prelude/macro.gen_cumsgs.html | 2 +- cu29/prelude/macro.input_msg.html | 2 +- cu29/prelude/macro.output_msg.html | 2 +- cu29/prelude/monitoring/enum.CuTaskState.html | 2 +- cu29/prelude/monitoring/enum.Decision.html | 2 +- cu29/prelude/monitoring/index.html | 2 +- cu29/prelude/monitoring/static.GLOBAL.html | 2 +- .../monitoring/struct.CountingAllocator.html | 2 +- .../struct.CuDurationStatistics.html | 2 +- .../monitoring/struct.LiveStatistics.html | 2 +- cu29/prelude/monitoring/struct.NoMonitor.html | 2 +- .../monitoring/struct.ScopedAllocCounter.html | 2 +- cu29/prelude/monitoring/trait.CuMonitor.html | 2 +- cu29/prelude/payload/index.html | 2 +- cu29/prelude/payload/struct.CuArray.html | 2 +- cu29/prelude/pool/enum.CuHandleInner.html | 2 +- cu29/prelude/pool/fn.pools_statistics.html | 2 +- cu29/prelude/pool/index.html | 2 +- cu29/prelude/pool/struct.AlignedBuffer.html | 2 +- cu29/prelude/pool/struct.CuHandle.html | 2 +- .../prelude/pool/struct.CuHostMemoryPool.html | 2 +- cu29/prelude/pool/trait.ArrayLike.html | 2 +- cu29/prelude/pool/trait.CuPool.html | 2 +- cu29/prelude/pool/trait.DeviceCuPool.html | 2 +- cu29/prelude/pool/trait.ElementType.html | 2 +- cu29/prelude/pool/trait.PoolMonitor.html | 2 +- .../simulation/enum.CuTaskCallbackState.html | 2 +- cu29/prelude/simulation/enum.SimOverride.html | 2 +- cu29/prelude/simulation/index.html | 2 +- .../simulation/struct.CuSimSinkTask.html | 2 +- .../simulation/struct.CuSimSrcTask.html | 2 +- cu29/prelude/static.EXTRA_TEXT_LOGGER.html | 2 +- cu29/prelude/static.GLOBAL.html | 2 +- cu29/prelude/struct.AlignedBuffer.html | 2 +- cu29/prelude/struct.Cnx.html | 2 +- cu29/prelude/struct.ComponentConfig.html | 2 +- cu29/prelude/struct.CopperContext.html | 2 +- cu29/prelude/struct.CopperLiskMask.html | 2 +- cu29/prelude/struct.CopperList.html | 2 +- cu29/prelude/struct.CountingAllocator.html | 2 +- cu29/prelude/struct.CuArray.html | 2 +- cu29/prelude/struct.CuCompactString.html | 2 +- cu29/prelude/struct.CuConfig.html | 2 +- cu29/prelude/struct.CuDuration.html | 2 +- cu29/prelude/struct.CuDurationStatistics.html | 2 +- cu29/prelude/struct.CuError.html | 2 +- cu29/prelude/struct.CuExecutionLoop.html | 2 +- cu29/prelude/struct.CuExecutionStep.html | 2 +- cu29/prelude/struct.CuHandle.html | 2 +- cu29/prelude/struct.CuHostMemoryPool.html | 2 +- cu29/prelude/struct.CuListsManager.html | 2 +- cu29/prelude/struct.CuLogEntry.html | 2 +- cu29/prelude/struct.CuMsg.html | 2 +- cu29/prelude/struct.CuMsgMetadata.html | 2 +- cu29/prelude/struct.CuRuntime.html | 2 +- cu29/prelude/struct.CuSimSinkTask.html | 2 +- cu29/prelude/struct.CuSimSrcTask.html | 2 +- cu29/prelude/struct.CuTimeRange.html | 2 +- cu29/prelude/struct.Instant.html | 2 +- cu29/prelude/struct.LiveStatistics.html | 2 +- cu29/prelude/struct.LoggerRuntime.html | 2 +- cu29/prelude/struct.LoggingConfig.html | 2 +- cu29/prelude/struct.MonitorConfig.html | 2 +- cu29/prelude/struct.NoMonitor.html | 2 +- cu29/prelude/struct.Node.html | 2 +- cu29/prelude/struct.NullLog.html | 2 +- cu29/prelude/struct.OptionCuTime.html | 2 +- cu29/prelude/struct.OwningIoWriter.html | 2 +- cu29/prelude/struct.PartialCuTimeRange.html | 2 +- cu29/prelude/struct.RobotClock.html | 2 +- cu29/prelude/struct.RobotClockMock.html | 2 +- cu29/prelude/struct.ScopedAllocCounter.html | 2 +- cu29/prelude/struct.SectionHandle.html | 2 +- cu29/prelude/struct.SectionHeader.html | 2 +- cu29/prelude/struct.SimpleFileWriter.html | 2 +- cu29/prelude/struct.UnifiedLoggerBuilder.html | 2 +- .../prelude/struct.UnifiedLoggerIOReader.html | 2 +- cu29/prelude/struct.UnifiedLoggerRead.html | 2 +- cu29/prelude/struct.UnifiedLoggerWrite.html | 2 +- cu29/prelude/trait.ArrayLike.html | 2 +- cu29/prelude/trait.ClockProvider.html | 2 +- cu29/prelude/trait.CopperListTuple.html | 2 +- cu29/prelude/trait.CuMonitor.html | 2 +- cu29/prelude/trait.CuMsgPack.html | 2 +- cu29/prelude/trait.CuMsgPayload.html | 2 +- cu29/prelude/trait.CuPool.html | 2 +- cu29/prelude/trait.CuSinkTask.html | 2 +- cu29/prelude/trait.CuSrcTask.html | 2 +- cu29/prelude/trait.CuTask.html | 2 +- cu29/prelude/trait.DeviceCuPool.html | 2 +- cu29/prelude/trait.ElementType.html | 2 +- cu29/prelude/trait.Freezable.html | 2 +- cu29/prelude/trait.PoolMonitor.html | 2 +- cu29/prelude/trait.WriteStream.html | 2 +- cu29/prelude/type.AscIter.html | 2 +- cu29/prelude/type.AscIterMut.html | 2 +- cu29/prelude/type.CuResult.html | 2 +- cu29/prelude/type.CuTime.html | 2 +- cu29/prelude/type.Iter.html | 2 +- cu29/prelude/type.IterMut.html | 2 +- cu29/prelude/type.NodeId.html | 2 +- cu29/simulation/enum.CuTaskCallbackState.html | 2 +- cu29/simulation/enum.SimOverride.html | 2 +- cu29/simulation/index.html | 2 +- cu29/simulation/struct.CuSimSinkTask.html | 2 +- cu29/simulation/struct.CuSimSrcTask.html | 2 +- cu29/struct.CuError.html | 2 +- cu29/trait.CopperListTuple.html | 2 +- cu29/trait.WriteStream.html | 2 +- cu29/type.CuResult.html | 2 +- cu29_clock/all.html | 2 +- cu29_clock/enum.Tov.html | 2 +- cu29_clock/index.html | 2 +- cu29_clock/struct.CuDuration.html | 2 +- cu29_clock/struct.CuTimeRange.html | 2 +- cu29_clock/struct.Instant.html | 2 +- cu29_clock/struct.OptionCuTime.html | 2 +- cu29_clock/struct.PartialCuTimeRange.html | 2 +- cu29_clock/struct.RobotClock.html | 2 +- cu29_clock/struct.RobotClockMock.html | 2 +- cu29_clock/trait.ClockProvider.html | 2 +- cu29_clock/type.CuTime.html | 2 +- cu29_derive/all.html | 2 +- cu29_derive/attr.copper_runtime.html | 2 +- cu29_derive/index.html | 2 +- cu29_derive/macro.gen_cumsgs.html | 2 +- cu29_export/all.html | 2 +- cu29_export/enum.Command.html | 2 +- cu29_export/enum.ExportFormat.html | 2 +- cu29_export/fn.copperlists_dump.html | 2 +- cu29_export/fn.run_cli.html | 2 +- cu29_export/fn.textlog_dump.html | 2 +- cu29_export/index.html | 2 +- cu29_export/struct.LogReaderCli.html | 2 +- cu29_helpers/all.html | 2 +- cu29_helpers/fn.basic_copper_setup.html | 2 +- cu29_helpers/index.html | 2 +- cu29_intern_strs/all.html | 2 +- .../fn.read_interned_strings.html | 2 +- cu29_intern_strs/index.html | 2 +- cu29_log/all.html | 2 +- cu29_log/constant.ANONYMOUS.html | 2 +- .../constant.MAX_LOG_PARAMS_ON_STACK.html | 2 +- cu29_log/fn.default_log_index_dir.html | 2 +- cu29_log/fn.format_logline.html | 2 +- cu29_log/fn.rebuild_logline.html | 2 +- cu29_log/index.html | 2 +- cu29_log/struct.CuLogEntry.html | 2 +- cu29_log_derive/all.html | 2 +- cu29_log_derive/index.html | 2 +- cu29_log_derive/macro.debug.html | 2 +- cu29_log_runtime/all.html | 2 +- cu29_log_runtime/fn.log.html | 2 +- cu29_log_runtime/fn.log_debug_mode.html | 2 +- cu29_log_runtime/index.html | 2 +- .../static.EXTRA_TEXT_LOGGER.html | 2 +- cu29_log_runtime/struct.LoggerRuntime.html | 2 +- cu29_log_runtime/struct.NullLog.html | 2 +- cu29_log_runtime/struct.OwningIoWriter.html | 2 +- cu29_log_runtime/struct.SimpleFileWriter.html | 2 +- cu29_rendercfg/all.html | 2 +- cu29_rendercfg/config/fn.default_as_true.html | 2 +- .../config/fn.read_configuration.html | 2 +- .../config/fn.read_configuration_str.html | 2 +- cu29_rendercfg/config/index.html | 2 +- cu29_rendercfg/config/struct.Cnx.html | 2 +- .../config/struct.ComponentConfig.html | 2 +- cu29_rendercfg/config/struct.CuConfig.html | 2 +- .../config/struct.CuConfigRepresentation.html | 2 +- .../config/struct.LoggingConfig.html | 2 +- .../config/struct.MonitorConfig.html | 2 +- cu29_rendercfg/config/struct.Node.html | 2 +- cu29_rendercfg/config/struct.Value.html | 2 +- cu29_rendercfg/config/type.NodeId.html | 2 +- cu29_rendercfg/enum.UnifiedLogType.html | 2 +- cu29_rendercfg/fn.main.html | 2 +- cu29_rendercfg/index.html | 2 +- cu29_rendercfg/struct.Args.html | 2 +- cu29_rendercfg/struct.CuError.html | 2 +- cu29_rendercfg/trait.CopperListTuple.html | 2 +- cu29_rendercfg/trait.WriteStream.html | 2 +- cu29_rendercfg/type.CuResult.html | 2 +- cu29_runtime/all.html | 2 +- .../config/fn.read_configuration.html | 2 +- .../config/fn.read_configuration_str.html | 2 +- cu29_runtime/config/index.html | 2 +- cu29_runtime/config/struct.Cnx.html | 2 +- .../config/struct.ComponentConfig.html | 2 +- cu29_runtime/config/struct.CuConfig.html | 2 +- cu29_runtime/config/struct.LoggingConfig.html | 2 +- cu29_runtime/config/struct.MonitorConfig.html | 2 +- cu29_runtime/config/struct.Node.html | 2 +- cu29_runtime/config/struct.Value.html | 2 +- cu29_runtime/config/type.NodeId.html | 2 +- .../copperlist/enum.CopperListState.html | 2 +- cu29_runtime/copperlist/index.html | 2 +- .../copperlist/struct.CopperLiskMask.html | 2 +- .../copperlist/struct.CopperList.html | 2 +- .../copperlist/struct.CuListsManager.html | 2 +- cu29_runtime/copperlist/type.AscIter.html | 2 +- cu29_runtime/copperlist/type.AscIterMut.html | 2 +- cu29_runtime/copperlist/type.Iter.html | 2 +- cu29_runtime/copperlist/type.IterMut.html | 2 +- .../curuntime/enum.CuExecutionUnit.html | 2 +- cu29_runtime/curuntime/enum.CuTaskType.html | 2 +- .../curuntime/fn.compute_runtime_plan.html | 2 +- .../curuntime/fn.find_task_type_for_id.html | 2 +- cu29_runtime/curuntime/index.html | 2 +- .../curuntime/struct.CopperContext.html | 2 +- .../curuntime/struct.CuExecutionLoop.html | 2 +- .../curuntime/struct.CuExecutionStep.html | 2 +- cu29_runtime/curuntime/struct.CuRuntime.html | 2 +- cu29_runtime/cutask/index.html | 2 +- .../cutask/struct.CuCompactString.html | 2 +- cu29_runtime/cutask/struct.CuMsg.html | 2 +- cu29_runtime/cutask/struct.CuMsgMetadata.html | 2 +- cu29_runtime/cutask/trait.CuMsgPack.html | 2 +- cu29_runtime/cutask/trait.CuMsgPayload.html | 2 +- cu29_runtime/cutask/trait.CuSinkTask.html | 2 +- cu29_runtime/cutask/trait.CuSrcTask.html | 2 +- cu29_runtime/cutask/trait.CuTask.html | 2 +- cu29_runtime/cutask/trait.Freezable.html | 2 +- cu29_runtime/index.html | 2 +- cu29_runtime/macro.input_msg.html | 2 +- cu29_runtime/macro.output_msg.html | 2 +- cu29_runtime/monitoring/enum.CuTaskState.html | 2 +- cu29_runtime/monitoring/enum.Decision.html | 2 +- cu29_runtime/monitoring/index.html | 2 +- cu29_runtime/monitoring/static.GLOBAL.html | 2 +- .../monitoring/struct.CountingAllocator.html | 2 +- .../struct.CuDurationStatistics.html | 2 +- .../monitoring/struct.LiveStatistics.html | 2 +- cu29_runtime/monitoring/struct.NoMonitor.html | 2 +- .../monitoring/struct.ScopedAllocCounter.html | 2 +- cu29_runtime/monitoring/trait.CuMonitor.html | 2 +- cu29_runtime/payload/index.html | 2 +- cu29_runtime/payload/struct.CuArray.html | 2 +- cu29_runtime/pool/enum.CuHandleInner.html | 2 +- cu29_runtime/pool/fn.pools_statistics.html | 2 +- cu29_runtime/pool/index.html | 2 +- cu29_runtime/pool/struct.AlignedBuffer.html | 2 +- cu29_runtime/pool/struct.CuHandle.html | 2 +- .../pool/struct.CuHostMemoryPool.html | 2 +- cu29_runtime/pool/trait.ArrayLike.html | 2 +- cu29_runtime/pool/trait.CuPool.html | 2 +- cu29_runtime/pool/trait.DeviceCuPool.html | 2 +- cu29_runtime/pool/trait.ElementType.html | 2 +- cu29_runtime/pool/trait.PoolMonitor.html | 2 +- .../simulation/enum.CuTaskCallbackState.html | 2 +- cu29_runtime/simulation/enum.SimOverride.html | 2 +- cu29_runtime/simulation/index.html | 2 +- .../simulation/struct.CuSimSinkTask.html | 2 +- .../simulation/struct.CuSimSrcTask.html | 2 +- cu29_soa_derive/all.html | 2 +- cu29_soa_derive/derive.Soa.html | 2 +- cu29_soa_derive/index.html | 2 +- cu29_traits/all.html | 2 +- cu29_traits/enum.UnifiedLogType.html | 2 +- cu29_traits/index.html | 2 +- cu29_traits/struct.CuError.html | 2 +- cu29_traits/trait.CopperListTuple.html | 2 +- cu29_traits/trait.WriteStream.html | 2 +- cu29_traits/type.CuResult.html | 2 +- cu29_unifiedlog/all.html | 2 +- cu29_unifiedlog/enum.AllocatedSection.html | 2 +- cu29_unifiedlog/enum.UnifiedLogger.html | 2 +- cu29_unifiedlog/fn.stream_write.html | 2 +- cu29_unifiedlog/index.html | 2 +- cu29_unifiedlog/struct.SectionHandle.html | 2 +- cu29_unifiedlog/struct.SectionHeader.html | 2 +- .../struct.UnifiedLoggerBuilder.html | 2 +- .../struct.UnifiedLoggerIOReader.html | 2 +- cu29_unifiedlog/struct.UnifiedLoggerRead.html | 2 +- .../struct.UnifiedLoggerWrite.html | 2 +- help.html | 2 +- index.html | 2 +- settings.html | 2 +- src/cu29/lib.rs.html | 2 +- src/cu29_clock/lib.rs.html | 2 +- src/cu29_derive/format.rs.html | 2 +- src/cu29_derive/lib.rs.html | 2 +- src/cu29_derive/utils.rs.html | 2 +- src/cu29_export/lib.rs.html | 2 +- src/cu29_helpers/lib.rs.html | 2 +- src/cu29_intern_strs/lib.rs.html | 2 +- src/cu29_log/lib.rs.html | 2 +- src/cu29_log_derive/index.rs.html | 2 +- src/cu29_log_derive/lib.rs.html | 2 +- src/cu29_log_runtime/lib.rs.html | 2 +- src/cu29_rendercfg/config.rs.html | 2 +- src/cu29_rendercfg/rendercfg.rs.html | 2 +- src/cu29_runtime/config.rs.html | 2 +- src/cu29_runtime/copperlist.rs.html | 2 +- src/cu29_runtime/curuntime.rs.html | 2 +- src/cu29_runtime/cutask.rs.html | 2 +- src/cu29_runtime/lib.rs.html | 2 +- src/cu29_runtime/log.rs.html | 2 +- src/cu29_runtime/monitoring.rs.html | 2 +- src/cu29_runtime/payload.rs.html | 2 +- src/cu29_runtime/pool.rs.html | 2 +- src/cu29_runtime/simulation.rs.html | 2 +- src/cu29_soa_derive/format.rs.html | 2 +- src/cu29_soa_derive/lib.rs.html | 2 +- src/cu29_traits/lib.rs.html | 2 +- src/cu29_unifiedlog/lib.rs.html | 2 +- static.files/rustdoc-5d1d17d0.css | 53 ------------------- static.files/rustdoc-e7950ecc.css | 53 +++++++++++++++++++ 434 files changed, 485 insertions(+), 485 deletions(-) delete mode 100644 static.files/rustdoc-5d1d17d0.css create mode 100644 static.files/rustdoc-e7950ecc.css diff --git a/cu29/all.html b/cu29/all.html index 91f16171c..e9531abb6 100644 --- a/cu29/all.html +++ b/cu29/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Attribute Macros

Functions

Type Aliases

Statics

Constants

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Attribute Macros

Functions

Type Aliases

Statics

Constants

\ No newline at end of file diff --git a/cu29/config/fn.read_configuration.html b/cu29/config/fn.read_configuration.html index 20efbfa03..721377cc3 100644 --- a/cu29/config/fn.read_configuration.html +++ b/cu29/config/fn.read_configuration.html @@ -1,2 +1,2 @@ -read_configuration in cu29::config - Rust
cu29::config

Function read_configuration

Source
pub fn read_configuration(config_filename: &str) -> Result<CuConfig, CuError>
Expand description

Read a copper configuration from a file.

+read_configuration in cu29::config - Rust

Function read_configuration

Source
pub fn read_configuration(config_filename: &str) -> Result<CuConfig, CuError>
Expand description

Read a copper configuration from a file.

\ No newline at end of file diff --git a/cu29/config/fn.read_configuration_str.html b/cu29/config/fn.read_configuration_str.html index 57742b880..30aa10e47 100644 --- a/cu29/config/fn.read_configuration_str.html +++ b/cu29/config/fn.read_configuration_str.html @@ -1,4 +1,4 @@ -read_configuration_str in cu29::config - Rust
cu29::config

Function read_configuration_str

Source
pub fn read_configuration_str(
+read_configuration_str in cu29::config - Rust

Function read_configuration_str

Source
pub fn read_configuration_str(
     config_content: String,
 ) -> Result<CuConfig, CuError>
Expand description

Read a copper configuration from a String.

\ No newline at end of file diff --git a/cu29/config/index.html b/cu29/config/index.html index 9e292996b..31eaa7845 100644 --- a/cu29/config/index.html +++ b/cu29/config/index.html @@ -1,4 +1,4 @@ -cu29::config - Rust
cu29

Module config

Source
Expand description

This module defines the configuration of the copper runtime. +cu29::config - Rust

Module config

Source
Expand description

This module defines the configuration of the copper runtime. The configuration is a directed graph where nodes are tasks and edges are connections between tasks. The configuration is serialized in the RON format. The configuration is used to generate the runtime code at compile time.

diff --git a/cu29/config/struct.Cnx.html b/cu29/config/struct.Cnx.html index 33d856aed..1bc9ac576 100644 --- a/cu29/config/struct.Cnx.html +++ b/cu29/config/struct.Cnx.html @@ -1,4 +1,4 @@ -Cnx in cu29::config - Rust
cu29::config

Struct Cnx

Source
pub struct Cnx {
+Cnx in cu29::config - Rust

Struct Cnx

Source
pub struct Cnx {
     pub msg: String,
     pub batch: Option<u32>,
     pub store: Option<bool>,
diff --git a/cu29/config/struct.ComponentConfig.html b/cu29/config/struct.ComponentConfig.html
index bc2d05fc4..9dd3af040 100644
--- a/cu29/config/struct.ComponentConfig.html
+++ b/cu29/config/struct.ComponentConfig.html
@@ -1,4 +1,4 @@
-ComponentConfig in cu29::config - Rust
cu29::config

Struct ComponentConfig

Source
pub struct ComponentConfig(pub HashMap<String, Value>);
Expand description

This is the configuration of a component (like a task config or a monitoring config):w +ComponentConfig in cu29::config - Rust

Struct ComponentConfig

Source
pub struct ComponentConfig(pub HashMap<String, Value>);
Expand description

This is the configuration of a component (like a task config or a monitoring config):w It is a map of key-value pairs. It is given to the new method of the task implementation.

Tuple Fields§

§0: HashMap<String, Value>

Implementations§

Source§

impl ComponentConfig

Source

pub fn new() -> ComponentConfig

Source

pub fn get<T>(&self, key: &str) -> Option<T>
where diff --git a/cu29/config/struct.CuConfig.html b/cu29/config/struct.CuConfig.html index ce1b24845..d43054118 100644 --- a/cu29/config/struct.CuConfig.html +++ b/cu29/config/struct.CuConfig.html @@ -1,4 +1,4 @@ -CuConfig in cu29::config - Rust
cu29::config

Struct CuConfig

Source
pub struct CuConfig {
+CuConfig in cu29::config - Rust

Struct CuConfig

Source
pub struct CuConfig {
     pub graph: StableGraph<Node, Cnx>,
     pub monitor: Option<MonitorConfig>,
     pub logging: Option<LoggingConfig>,
diff --git a/cu29/config/struct.LoggingConfig.html b/cu29/config/struct.LoggingConfig.html
index 3f66048f5..71492fc3a 100644
--- a/cu29/config/struct.LoggingConfig.html
+++ b/cu29/config/struct.LoggingConfig.html
@@ -1,4 +1,4 @@
-LoggingConfig in cu29::config - Rust
cu29::config

Struct LoggingConfig

Source
pub struct LoggingConfig {
+LoggingConfig in cu29::config - Rust

Struct LoggingConfig

Source
pub struct LoggingConfig {
     pub slab_size_mib: Option<u64>,
     pub section_size_mib: Option<u64>,
     pub enable_task_logging: bool,
diff --git a/cu29/config/struct.MonitorConfig.html b/cu29/config/struct.MonitorConfig.html
index 2d1525cc6..febd6c47c 100644
--- a/cu29/config/struct.MonitorConfig.html
+++ b/cu29/config/struct.MonitorConfig.html
@@ -1,4 +1,4 @@
-MonitorConfig in cu29::config - Rust
cu29::config

Struct MonitorConfig

Source
pub struct MonitorConfig { /* private fields */ }

Implementations§

Trait Implementations§

Source§

impl Clone for MonitorConfig

Source§

fn clone(&self) -> MonitorConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MonitorConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for MonitorConfig

Source§

fn default() -> MonitorConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for MonitorConfig

Source§

fn deserialize<__D>( +MonitorConfig in cu29::config - Rust

Struct MonitorConfig

Source
pub struct MonitorConfig { /* private fields */ }

Implementations§

Trait Implementations§

Source§

impl Clone for MonitorConfig

Source§

fn clone(&self) -> MonitorConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MonitorConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for MonitorConfig

Source§

fn default() -> MonitorConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for MonitorConfig

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<MonitorConfig, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for MonitorConfig

Source§

fn serialize<__S>( diff --git a/cu29/config/struct.Node.html b/cu29/config/struct.Node.html index 5a3fe5a75..d1cd46cdd 100644 --- a/cu29/config/struct.Node.html +++ b/cu29/config/struct.Node.html @@ -1,4 +1,4 @@ -Node in cu29::config - Rust
cu29::config

Struct Node

Source
pub struct Node { /* private fields */ }
Expand description

A node in the configuration graph. +Node in cu29::config - Rust

Struct Node

Source
pub struct Node { /* private fields */ }
Expand description

A node in the configuration graph. A node represents a Task in the system Graph.

Implementations§

Source§

impl Node

Source

pub fn new(id: &str, ptype: &str) -> Node

Source

pub fn get_id(&self) -> String

Source

pub fn set_type(self, name: Option<String>) -> Node

Source

pub fn get_type(&self) -> &str

Source

pub fn get_instance_config(&self) -> Option<&ComponentConfig>

Source

pub fn get_param<T>(&self, key: &str) -> Option<T>
where T: From<Value>,

Source

pub fn set_param<T>(&mut self, key: &str, value: T)
where diff --git a/cu29/config/struct.Value.html b/cu29/config/struct.Value.html index a7715b591..8638dbd06 100644 --- a/cu29/config/struct.Value.html +++ b/cu29/config/struct.Value.html @@ -1,4 +1,4 @@ -Value in cu29::config - Rust
cu29::config

Struct Value

Source
pub struct Value(/* private fields */);
Expand description

Wrapper around the ron::Value to allow for custom serialization.

+Value in cu29::config - Rust

Struct Value

Source
pub struct Value(/* private fields */);
Expand description

Wrapper around the ron::Value to allow for custom serialization.

Trait Implementations§

Source§

impl Clone for Value

Source§

fn clone(&self) -> Value

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Value

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Value

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<Value, <__D as Deserializer<'de>>::Error>
where diff --git a/cu29/config/type.NodeId.html b/cu29/config/type.NodeId.html index e918aaad1..44b652111 100644 --- a/cu29/config/type.NodeId.html +++ b/cu29/config/type.NodeId.html @@ -1,3 +1,3 @@ -NodeId in cu29::config - Rust
cu29::config

Type Alias NodeId

Source
pub type NodeId = u32;
Expand description

NodeId is the unique identifier of a node in the configuration graph for petgraph +NodeId in cu29::config - Rust

Type Alias NodeId

Source
pub type NodeId = u32;
Expand description

NodeId is the unique identifier of a node in the configuration graph for petgraph and the code generation.

\ No newline at end of file diff --git a/cu29/copperlist/enum.CopperListState.html b/cu29/copperlist/enum.CopperListState.html index c80e5da21..e4134e799 100644 --- a/cu29/copperlist/enum.CopperListState.html +++ b/cu29/copperlist/enum.CopperListState.html @@ -1,4 +1,4 @@ -CopperListState in cu29::copperlist - Rust
cu29::copperlist

Enum CopperListState

Source
pub enum CopperListState {
+CopperListState in cu29::copperlist - Rust

Enum CopperListState

Source
pub enum CopperListState {
     Free,
     Initialized,
     Processing,
diff --git a/cu29/copperlist/index.html b/cu29/copperlist/index.html
index 38afb5102..848062b4e 100644
--- a/cu29/copperlist/index.html
+++ b/cu29/copperlist/index.html
@@ -1,4 +1,4 @@
-cu29::copperlist - Rust
cu29

Module copperlist

Source
Expand description

CopperList is the main data structure used by Copper to communicate between tasks. +cu29::copperlist - Rust

Module copperlist

Source
Expand description

CopperList is the main data structure used by Copper to communicate between tasks. It is a queue that can be used to store preallocated messages between tasks in memory order.

Structs§

CopperLiskMask
Not implemented yet. This mask will be used to for example filter out necessary regions of a copper list between remote systems.
CopperList
CuListsManager
This structure maintains the entire memory needed by Copper for one loop for the inter tasks communication within a process. diff --git a/cu29/copperlist/struct.CopperLiskMask.html b/cu29/copperlist/struct.CopperLiskMask.html index 0914aa436..339ba342b 100644 --- a/cu29/copperlist/struct.CopperLiskMask.html +++ b/cu29/copperlist/struct.CopperLiskMask.html @@ -1,4 +1,4 @@ -CopperLiskMask in cu29::copperlist - Rust
cu29::copperlist

Struct CopperLiskMask

Source
pub struct CopperLiskMask { /* private fields */ }
Expand description

Not implemented yet. +CopperLiskMask in cu29::copperlist - Rust

Struct CopperLiskMask

Source
pub struct CopperLiskMask { /* private fields */ }
Expand description

Not implemented yet. This mask will be used to for example filter out necessary regions of a copper list between remote systems.

Trait Implementations§

Source§

impl<'__de> BorrowDecode<'__de> for CopperLiskMask

Source§

fn borrow_decode<__D>(decoder: &mut __D) -> Result<CopperLiskMask, DecodeError>
where __D: BorrowDecoder<'__de>,

Attempt to decode this type with the given BorrowDecode.
Source§

impl Clone for CopperLiskMask

Source§

fn clone(&self) -> CopperLiskMask

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CopperLiskMask

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Decode for CopperLiskMask

Source§

fn decode<__D>(decoder: &mut __D) -> Result<CopperLiskMask, DecodeError>
where diff --git a/cu29/copperlist/struct.CopperList.html b/cu29/copperlist/struct.CopperList.html index a3862d2e6..f5eef0984 100644 --- a/cu29/copperlist/struct.CopperList.html +++ b/cu29/copperlist/struct.CopperList.html @@ -1,4 +1,4 @@ -CopperList in cu29::copperlist - Rust
cu29::copperlist

Struct CopperList

Source
pub struct CopperList<P>
where +CopperList in cu29::copperlist - Rust

Struct CopperList

Source
pub struct CopperList<P>
where P: CopperListTuple,
{ pub id: u32, pub msgs: P, diff --git a/cu29/copperlist/struct.CuListsManager.html b/cu29/copperlist/struct.CuListsManager.html index 0c46cf628..966f36eea 100644 --- a/cu29/copperlist/struct.CuListsManager.html +++ b/cu29/copperlist/struct.CuListsManager.html @@ -1,4 +1,4 @@ -CuListsManager in cu29::copperlist - Rust
cu29::copperlist

Struct CuListsManager

Source
pub struct CuListsManager<P, const N: usize>
where +CuListsManager in cu29::copperlist - Rust

Struct CuListsManager

Source
pub struct CuListsManager<P, const N: usize>
where P: CopperListTuple,
{ /* private fields */ }
Expand description

This structure maintains the entire memory needed by Copper for one loop for the inter tasks communication within a process. P or Payload is typically a Tuple of various types of messages that are exchanged between tasks. N is the maximum number of in flight Copper List the runtime can support.

diff --git a/cu29/copperlist/type.AscIter.html b/cu29/copperlist/type.AscIter.html index 9d2022376..43345655e 100644 --- a/cu29/copperlist/type.AscIter.html +++ b/cu29/copperlist/type.AscIter.html @@ -1 +1 @@ -AscIter in cu29::copperlist - Rust
cu29::copperlist

Type Alias AscIter

Source
pub type AscIter<'a, T> = Chain<Iter<'a, T>, Iter<'a, T>>;

Aliased Type§

struct AscIter<'a, T> { /* private fields */ }
\ No newline at end of file +AscIter in cu29::copperlist - Rust

Type Alias AscIter

Source
pub type AscIter<'a, T> = Chain<Iter<'a, T>, Iter<'a, T>>;

Aliased Type§

struct AscIter<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29/copperlist/type.AscIterMut.html b/cu29/copperlist/type.AscIterMut.html index aab5e40a4..3abe6f215 100644 --- a/cu29/copperlist/type.AscIterMut.html +++ b/cu29/copperlist/type.AscIterMut.html @@ -1 +1 @@ -AscIterMut in cu29::copperlist - Rust
cu29::copperlist

Type Alias AscIterMut

Source
pub type AscIterMut<'a, T> = Chain<IterMut<'a, T>, IterMut<'a, T>>;

Aliased Type§

struct AscIterMut<'a, T> { /* private fields */ }
\ No newline at end of file +AscIterMut in cu29::copperlist - Rust

Type Alias AscIterMut

Source
pub type AscIterMut<'a, T> = Chain<IterMut<'a, T>, IterMut<'a, T>>;

Aliased Type§

struct AscIterMut<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29/copperlist/type.Iter.html b/cu29/copperlist/type.Iter.html index 1d90fbfa0..bdd06367c 100644 --- a/cu29/copperlist/type.Iter.html +++ b/cu29/copperlist/type.Iter.html @@ -1 +1 @@ -Iter in cu29::copperlist - Rust
cu29::copperlist

Type Alias Iter

Source
pub type Iter<'a, T> = Chain<Rev<Iter<'a, T>>, Rev<Iter<'a, T>>>;

Aliased Type§

struct Iter<'a, T> { /* private fields */ }
\ No newline at end of file +Iter in cu29::copperlist - Rust

Type Alias Iter

Source
pub type Iter<'a, T> = Chain<Rev<Iter<'a, T>>, Rev<Iter<'a, T>>>;

Aliased Type§

struct Iter<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29/copperlist/type.IterMut.html b/cu29/copperlist/type.IterMut.html index b0c0e39db..5015908e6 100644 --- a/cu29/copperlist/type.IterMut.html +++ b/cu29/copperlist/type.IterMut.html @@ -1 +1 @@ -IterMut in cu29::copperlist - Rust
cu29::copperlist

Type Alias IterMut

Source
pub type IterMut<'a, T> = Chain<Rev<IterMut<'a, T>>, Rev<IterMut<'a, T>>>;

Aliased Type§

struct IterMut<'a, T> { /* private fields */ }
\ No newline at end of file +IterMut in cu29::copperlist - Rust

Type Alias IterMut

Source
pub type IterMut<'a, T> = Chain<Rev<IterMut<'a, T>>, Rev<IterMut<'a, T>>>;

Aliased Type§

struct IterMut<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29/curuntime/enum.CuExecutionUnit.html b/cu29/curuntime/enum.CuExecutionUnit.html index ac8d3e4c3..cfa3ebbc4 100644 --- a/cu29/curuntime/enum.CuExecutionUnit.html +++ b/cu29/curuntime/enum.CuExecutionUnit.html @@ -1,4 +1,4 @@ -CuExecutionUnit in cu29::curuntime - Rust
cu29::curuntime

Enum CuExecutionUnit

Source
pub enum CuExecutionUnit {
+CuExecutionUnit in cu29::curuntime - Rust

Enum CuExecutionUnit

Source
pub enum CuExecutionUnit {
     Step(CuExecutionStep),
     Loop(CuExecutionLoop),
 }
Expand description

This structure represents a step in the execution plan.

diff --git a/cu29/curuntime/enum.CuTaskType.html b/cu29/curuntime/enum.CuTaskType.html index 91404fc1e..31cac4473 100644 --- a/cu29/curuntime/enum.CuTaskType.html +++ b/cu29/curuntime/enum.CuTaskType.html @@ -1,4 +1,4 @@ -CuTaskType in cu29::curuntime - Rust
cu29::curuntime

Enum CuTaskType

Source
pub enum CuTaskType {
+CuTaskType in cu29::curuntime - Rust

Enum CuTaskType

Source
pub enum CuTaskType {
     Source,
     Regular,
     Sink,
diff --git a/cu29/curuntime/fn.compute_runtime_plan.html b/cu29/curuntime/fn.compute_runtime_plan.html
index 2ff8c95b8..3c3640f03 100644
--- a/cu29/curuntime/fn.compute_runtime_plan.html
+++ b/cu29/curuntime/fn.compute_runtime_plan.html
@@ -1,4 +1,4 @@
-compute_runtime_plan in cu29::curuntime - Rust
cu29::curuntime

Function compute_runtime_plan

Source
pub fn compute_runtime_plan(
+compute_runtime_plan in cu29::curuntime - Rust

Function compute_runtime_plan

Source
pub fn compute_runtime_plan(
     config: &CuConfig,
 ) -> Result<CuExecutionLoop, CuError>
Expand description

This is the main heuristics to compute an execution plan at compilation time. TODO: Make that heuristic pluggable.

diff --git a/cu29/curuntime/fn.find_task_type_for_id.html b/cu29/curuntime/fn.find_task_type_for_id.html index 392b3b793..64446ef60 100644 --- a/cu29/curuntime/fn.find_task_type_for_id.html +++ b/cu29/curuntime/fn.find_task_type_for_id.html @@ -1,4 +1,4 @@ -find_task_type_for_id in cu29::curuntime - Rust
cu29::curuntime

Function find_task_type_for_id

Source
pub fn find_task_type_for_id(
+find_task_type_for_id in cu29::curuntime - Rust

Function find_task_type_for_id

Source
pub fn find_task_type_for_id(
     graph: &StableGraph<Node, Cnx>,
     node_id: u32,
 ) -> CuTaskType
\ No newline at end of file diff --git a/cu29/curuntime/index.html b/cu29/curuntime/index.html index d16b46b61..ba8df7915 100644 --- a/cu29/curuntime/index.html +++ b/cu29/curuntime/index.html @@ -1,4 +1,4 @@ -cu29::curuntime - Rust
cu29

Module curuntime

Source
Expand description

CuRuntime is the heart of what copper is running on the robot. +cu29::curuntime - Rust

Module curuntime

Source
Expand description

CuRuntime is the heart of what copper is running on the robot. It is exposed to the user via the copper_runtime macro injecting it as a field in their application struct.

Structs§

CopperContext
Just a simple struct to hold the various bits needed to run a Copper application.
CuExecutionLoop
This structure represents a loop in the execution plan. It is used to represent a sequence of Execution units (loop or steps) that are executed diff --git a/cu29/curuntime/struct.CopperContext.html b/cu29/curuntime/struct.CopperContext.html index 20498f860..981e28d64 100644 --- a/cu29/curuntime/struct.CopperContext.html +++ b/cu29/curuntime/struct.CopperContext.html @@ -1,4 +1,4 @@ -CopperContext in cu29::curuntime - Rust
cu29::curuntime

Struct CopperContext

Source
pub struct CopperContext {
+CopperContext in cu29::curuntime - Rust

Struct CopperContext

Source
pub struct CopperContext {
     pub unified_logger: Arc<Mutex<UnifiedLoggerWrite>>,
     pub logger_runtime: LoggerRuntime,
     pub clock: RobotClock,
diff --git a/cu29/curuntime/struct.CuExecutionLoop.html b/cu29/curuntime/struct.CuExecutionLoop.html
index f15b5bf88..63da153d3 100644
--- a/cu29/curuntime/struct.CuExecutionLoop.html
+++ b/cu29/curuntime/struct.CuExecutionLoop.html
@@ -1,4 +1,4 @@
-CuExecutionLoop in cu29::curuntime - Rust
cu29::curuntime

Struct CuExecutionLoop

Source
pub struct CuExecutionLoop {
+CuExecutionLoop in cu29::curuntime - Rust

Struct CuExecutionLoop

Source
pub struct CuExecutionLoop {
     pub steps: Vec<CuExecutionUnit>,
     pub loop_count: Option<u32>,
 }
Expand description

This structure represents a loop in the execution plan. diff --git a/cu29/curuntime/struct.CuExecutionStep.html b/cu29/curuntime/struct.CuExecutionStep.html index b464e39dc..81b94a74a 100644 --- a/cu29/curuntime/struct.CuExecutionStep.html +++ b/cu29/curuntime/struct.CuExecutionStep.html @@ -1,4 +1,4 @@ -CuExecutionStep in cu29::curuntime - Rust

cu29::curuntime

Struct CuExecutionStep

Source
pub struct CuExecutionStep {
+CuExecutionStep in cu29::curuntime - Rust

Struct CuExecutionStep

Source
pub struct CuExecutionStep {
     pub node_id: u32,
     pub node: Node,
     pub task_type: CuTaskType,
diff --git a/cu29/curuntime/struct.CuRuntime.html b/cu29/curuntime/struct.CuRuntime.html
index a1fd99076..692b7264a 100644
--- a/cu29/curuntime/struct.CuRuntime.html
+++ b/cu29/curuntime/struct.CuRuntime.html
@@ -1,4 +1,4 @@
-CuRuntime in cu29::curuntime - Rust
cu29::curuntime

Struct CuRuntime

Source
pub struct CuRuntime<CT, P, M, const NBCL: usize>
where +CuRuntime in cu29::curuntime - Rust

Struct CuRuntime

Source
pub struct CuRuntime<CT, P, M, const NBCL: usize>{
     pub tasks: CT,
diff --git a/cu29/cutask/index.html b/cu29/cutask/index.html
index dc4181005..7beaeaa39 100644
--- a/cu29/cutask/index.html
+++ b/cu29/cutask/index.html
@@ -1,4 +1,4 @@
-cu29::cutask - Rust
cu29

Module cutask

Source
Expand description

This module contains all the main definition of the traits you need to implement +cu29::cutask - Rust

Module cutask

Source
Expand description

This module contains all the main definition of the traits you need to implement or interact with to create a Copper task.

Structs§

CuCompactString
CuMsg
CuMsg is the envelope holding the msg payload and the metadata between tasks.
CuMsgMetadata
CuMsgMetadata is a structure that contains metadata common to all CuMsgs.

Traits§

CuMsgPack
CuMsgPayload
CuSinkTask
A Sink Task is a task that only consumes messages. For example drivers for actuators are Sink Tasks.
CuSrcTask
A Src Task is a task that only produces messages. For example drivers for sensors are Src Tasks. They are in push mode from the runtime. diff --git a/cu29/cutask/struct.CuCompactString.html b/cu29/cutask/struct.CuCompactString.html index 761b5b22a..42d0f70d4 100644 --- a/cu29/cutask/struct.CuCompactString.html +++ b/cu29/cutask/struct.CuCompactString.html @@ -1,4 +1,4 @@ -CuCompactString in cu29::cutask - Rust
cu29::cutask

Struct CuCompactString

Source
pub struct CuCompactString(pub CompactString);

Tuple Fields§

§0: CompactString

Trait Implementations§

Source§

impl<'de> BorrowDecode<'de> for CuCompactString

Source§

fn borrow_decode<D>(decoder: &mut D) -> Result<CuCompactString, DecodeError>
where +CuCompactString in cu29::cutask - Rust

Struct CuCompactString

Source
pub struct CuCompactString(pub CompactString);

Tuple Fields§

§0: CompactString

Trait Implementations§

Source§

impl<'de> BorrowDecode<'de> for CuCompactString

Source§

fn borrow_decode<D>(decoder: &mut D) -> Result<CuCompactString, DecodeError>
where D: BorrowDecoder<'de>,

Attempt to decode this type with the given BorrowDecode.
Source§

impl Clone for CuCompactString

Source§

fn clone(&self) -> CuCompactString

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CuCompactString

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Decode for CuCompactString

Source§

fn decode<D>(decoder: &mut D) -> Result<CuCompactString, DecodeError>
where D: Decoder,

Attempt to decode this type with the given Decode.
Source§

impl Default for CuCompactString

Source§

fn default() -> CuCompactString

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for CuCompactString

Source§

fn deserialize<__D>( __deserializer: __D, diff --git a/cu29/cutask/struct.CuMsg.html b/cu29/cutask/struct.CuMsg.html index 7ec2ed88d..7403fc711 100644 --- a/cu29/cutask/struct.CuMsg.html +++ b/cu29/cutask/struct.CuMsg.html @@ -1,4 +1,4 @@ -CuMsg in cu29::cutask - Rust
cu29::cutask

Struct CuMsg

Source
pub struct CuMsg<T>
where +CuMsg in cu29::cutask - Rust

Struct CuMsg

Source
pub struct CuMsg<T>
where T: CuMsgPayload,
{ pub metadata: CuMsgMetadata, /* private fields */ diff --git a/cu29/cutask/struct.CuMsgMetadata.html b/cu29/cutask/struct.CuMsgMetadata.html index 33497c453..8c78d6938 100644 --- a/cu29/cutask/struct.CuMsgMetadata.html +++ b/cu29/cutask/struct.CuMsgMetadata.html @@ -1,4 +1,4 @@ -CuMsgMetadata in cu29::cutask - Rust
cu29::cutask

Struct CuMsgMetadata

Source
pub struct CuMsgMetadata {
+CuMsgMetadata in cu29::cutask - Rust

Struct CuMsgMetadata

Source
pub struct CuMsgMetadata {
     pub process_time: PartialCuTimeRange,
     pub tov: Tov,
     pub status_txt: CuCompactString,
diff --git a/cu29/cutask/trait.CuMsgPack.html b/cu29/cutask/trait.CuMsgPack.html
index d79ea393a..9c8e12526 100644
--- a/cu29/cutask/trait.CuMsgPack.html
+++ b/cu29/cutask/trait.CuMsgPack.html
@@ -1,4 +1,4 @@
-CuMsgPack in cu29::cutask - Rust
cu29::cutask

Trait CuMsgPack

Source
pub trait CuMsgPack<'cl> { }

Implementations on Foreign Types§

Source§

impl CuMsgPack<'_> for ()

Source§

impl<'cl, T1, T2> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>)
where +CuMsgPack in cu29::cutask - Rust

Trait CuMsgPack

Source
pub trait CuMsgPack<'cl> { }

Implementations on Foreign Types§

Source§

impl CuMsgPack<'_> for ()

Source§

impl<'cl, T1, T2> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>)
where T1: CuMsgPayload + 'cl, T2: CuMsgPayload + 'cl,

Source§

impl<'cl, T1, T2, T3> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>, &'cl CuMsg<T3>)
where T1: CuMsgPayload + 'cl, diff --git a/cu29/cutask/trait.CuMsgPayload.html b/cu29/cutask/trait.CuMsgPayload.html index 1a3bc5118..2ba2e4a8d 100644 --- a/cu29/cutask/trait.CuMsgPayload.html +++ b/cu29/cutask/trait.CuMsgPayload.html @@ -1,4 +1,4 @@ -CuMsgPayload in cu29::cutask - Rust
cu29::cutask

Trait CuMsgPayload

Source
pub trait CuMsgPayload:
+CuMsgPayload in cu29::cutask - Rust

Trait CuMsgPayload

Source
pub trait CuMsgPayload:
     Sized
     + Default
     + Debug
diff --git a/cu29/cutask/trait.CuSinkTask.html b/cu29/cutask/trait.CuSinkTask.html
index d15443d7d..08c3240e0 100644
--- a/cu29/cutask/trait.CuSinkTask.html
+++ b/cu29/cutask/trait.CuSinkTask.html
@@ -1,4 +1,4 @@
-CuSinkTask in cu29::cutask - Rust
cu29::cutask

Trait CuSinkTask

Source
pub trait CuSinkTask<'cl>: Freezable {
+CuSinkTask in cu29::cutask - Rust

Trait CuSinkTask

Source
pub trait CuSinkTask<'cl>: Freezable {
     type Input: CuMsgPack<'cl>;
 
     // Required methods
diff --git a/cu29/cutask/trait.CuSrcTask.html b/cu29/cutask/trait.CuSrcTask.html
index 1322d1fca..74a63a373 100644
--- a/cu29/cutask/trait.CuSrcTask.html
+++ b/cu29/cutask/trait.CuSrcTask.html
@@ -1,4 +1,4 @@
-CuSrcTask in cu29::cutask - Rust
cu29::cutask

Trait CuSrcTask

Source
pub trait CuSrcTask<'cl>: Freezable {
+CuSrcTask in cu29::cutask - Rust

Trait CuSrcTask

Source
pub trait CuSrcTask<'cl>: Freezable {
     type Output: CuMsgPack<'cl>;
 
     // Required methods
diff --git a/cu29/cutask/trait.CuTask.html b/cu29/cutask/trait.CuTask.html
index a13e1a95a..b43984a4a 100644
--- a/cu29/cutask/trait.CuTask.html
+++ b/cu29/cutask/trait.CuTask.html
@@ -1,4 +1,4 @@
-CuTask in cu29::cutask - Rust
cu29::cutask

Trait CuTask

Source
pub trait CuTask<'cl>: Freezable {
+CuTask in cu29::cutask - Rust

Trait CuTask

Source
pub trait CuTask<'cl>: Freezable {
     type Input: CuMsgPack<'cl>;
     type Output: CuMsgPack<'cl>;
 
diff --git a/cu29/cutask/trait.Freezable.html b/cu29/cutask/trait.Freezable.html
index 62384eab0..ad45b9268 100644
--- a/cu29/cutask/trait.Freezable.html
+++ b/cu29/cutask/trait.Freezable.html
@@ -1,4 +1,4 @@
-Freezable in cu29::cutask - Rust
cu29::cutask

Trait Freezable

Source
pub trait Freezable {
+Freezable in cu29::cutask - Rust

Trait Freezable

Source
pub trait Freezable {
     // Provided methods
     fn freeze<E>(&self, encoder: &mut E) -> Result<(), EncodeError>
        where E: Encoder { ... }
diff --git a/cu29/enum.UnifiedLogType.html b/cu29/enum.UnifiedLogType.html
index f67c3e8b9..35cf628e8 100644
--- a/cu29/enum.UnifiedLogType.html
+++ b/cu29/enum.UnifiedLogType.html
@@ -1,4 +1,4 @@
-UnifiedLogType in cu29 - Rust
cu29

Enum UnifiedLogType

pub enum UnifiedLogType {
+UnifiedLogType in cu29 - Rust

Enum UnifiedLogType

pub enum UnifiedLogType {
     Empty,
     StructuredLogLine,
     CopperList,
diff --git a/cu29/fn.read_configuration.html b/cu29/fn.read_configuration.html
index fffc5f070..1ef3c26cb 100644
--- a/cu29/fn.read_configuration.html
+++ b/cu29/fn.read_configuration.html
@@ -1,2 +1,2 @@
-read_configuration in cu29 - Rust
cu29

Function read_configuration

Source
pub fn read_configuration(config_filename: &str) -> Result<CuConfig, CuError>
Expand description

Read a copper configuration from a file.

+read_configuration in cu29 - Rust

Function read_configuration

Source
pub fn read_configuration(config_filename: &str) -> Result<CuConfig, CuError>
Expand description

Read a copper configuration from a file.

\ No newline at end of file diff --git a/cu29/index.html b/cu29/index.html index aaca20b45..ffa9d1eb7 100644 --- a/cu29/index.html +++ b/cu29/index.html @@ -1,4 +1,4 @@ -cu29 - Rust

Crate cu29

Source
Expand description
logo +cu29 - Rust

Crate cu29

Source
Expand description
logo

§

§Copper

copper GitHub last commit diff --git a/cu29/macro.input_msg.html b/cu29/macro.input_msg.html index 046776eba..6ba9c4ca4 100644 --- a/cu29/macro.input_msg.html +++ b/cu29/macro.input_msg.html @@ -1,4 +1,4 @@ -input_msg in cu29 - Rust

cu29

Macro input_msg

Source
macro_rules! input_msg {
+input_msg in cu29 - Rust

Macro input_msg

Source
macro_rules! input_msg {
     ($lifetime:lifetime, $ty:ty) => { ... };
     ($lifetime:lifetime, $($ty:ty),*) => { ... };
 }
\ No newline at end of file diff --git a/cu29/macro.output_msg.html b/cu29/macro.output_msg.html index 381c4a039..c43f5a434 100644 --- a/cu29/macro.output_msg.html +++ b/cu29/macro.output_msg.html @@ -1,3 +1,3 @@ -output_msg in cu29 - Rust
cu29

Macro output_msg

Source
macro_rules! output_msg {
+output_msg in cu29 - Rust

Macro output_msg

Source
macro_rules! output_msg {
     ($lifetime:lifetime, $ty:ty) => { ... };
 }
\ No newline at end of file diff --git a/cu29/monitoring/enum.CuTaskState.html b/cu29/monitoring/enum.CuTaskState.html index b39a1ff7f..60808435e 100644 --- a/cu29/monitoring/enum.CuTaskState.html +++ b/cu29/monitoring/enum.CuTaskState.html @@ -1,4 +1,4 @@ -CuTaskState in cu29::monitoring - Rust
cu29::monitoring

Enum CuTaskState

Source
pub enum CuTaskState {
+CuTaskState in cu29::monitoring - Rust

Enum CuTaskState

Source
pub enum CuTaskState {
     Start,
     Preprocess,
     Process,
diff --git a/cu29/monitoring/enum.Decision.html b/cu29/monitoring/enum.Decision.html
index fafe84d3b..b08f8f9a7 100644
--- a/cu29/monitoring/enum.Decision.html
+++ b/cu29/monitoring/enum.Decision.html
@@ -1,4 +1,4 @@
-Decision in cu29::monitoring - Rust
cu29::monitoring

Enum Decision

Source
pub enum Decision {
+Decision in cu29::monitoring - Rust

Enum Decision

Source
pub enum Decision {
     Abort,
     Ignore,
     Shutdown,
diff --git a/cu29/monitoring/index.html b/cu29/monitoring/index.html
index e7d7b4bb0..366d8201d 100644
--- a/cu29/monitoring/index.html
+++ b/cu29/monitoring/index.html
@@ -1,4 +1,4 @@
-cu29::monitoring - Rust
cu29

Module monitoring

Source
Expand description

Some basic internal monitoring tooling Copper uses to monitor itself and the tasks it is running.

+cu29::monitoring - Rust

Module monitoring

Source
Expand description

Some basic internal monitoring tooling Copper uses to monitor itself and the tasks it is running.

Structs§

CountingAllocator
A simple allocator that counts the number of bytes allocated and deallocated.
CuDurationStatistics
A Specialized statistics object for CuDuration. It will also keep track of the jitter between the values.
LiveStatistics
Accumulative stat object that can give your some real time statistics.
NoMonitor
A do nothing monitor if no monitor is provided. This is basically defining the default behavior of Copper in case of error.
ScopedAllocCounter
A simple struct that counts the number of bytes allocated and deallocated in a scope.

Enums§

CuTaskState
The state of a task.
Decision
Monitor decision to be taken when a task errored out.

Statics§

GLOBAL

Traits§

CuMonitor
Trait to implement a monitoring task.
\ No newline at end of file diff --git a/cu29/monitoring/static.GLOBAL.html b/cu29/monitoring/static.GLOBAL.html index 87b258ed0..e71a9a008 100644 --- a/cu29/monitoring/static.GLOBAL.html +++ b/cu29/monitoring/static.GLOBAL.html @@ -1 +1 @@ -GLOBAL in cu29::monitoring - Rust
cu29::monitoring

Static GLOBAL

Source
pub static GLOBAL: CountingAllocator
\ No newline at end of file +GLOBAL in cu29::monitoring - Rust

Static GLOBAL

Source
pub static GLOBAL: CountingAllocator
\ No newline at end of file diff --git a/cu29/monitoring/struct.CountingAllocator.html b/cu29/monitoring/struct.CountingAllocator.html index 46fc218d6..2ef3ff141 100644 --- a/cu29/monitoring/struct.CountingAllocator.html +++ b/cu29/monitoring/struct.CountingAllocator.html @@ -1,4 +1,4 @@ -CountingAllocator in cu29::monitoring - Rust
cu29::monitoring

Struct CountingAllocator

Source
pub struct CountingAllocator { /* private fields */ }
Expand description

A simple allocator that counts the number of bytes allocated and deallocated.

+CountingAllocator in cu29::monitoring - Rust

Struct CountingAllocator

Source
pub struct CountingAllocator { /* private fields */ }
Expand description

A simple allocator that counts the number of bytes allocated and deallocated.

Implementations§

Trait Implementations§

Source§

impl Default for CountingAllocator

Source§

fn default() -> CountingAllocator

Returns the “default value” for a type. Read more
Source§

impl GlobalAlloc for CountingAllocator

Source§

unsafe fn alloc(&self, layout: Layout) -> *mut u8

Allocates memory as described by the given layout. Read more
Source§

unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout)

Deallocates the block of memory at the given ptr pointer with the given layout. Read more
1.28.0 · Source§

unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8

Behaves like alloc, but also ensures that the contents are set to zero before being returned. Read more
1.28.0 · Source§

unsafe fn realloc( &self, diff --git a/cu29/monitoring/struct.CuDurationStatistics.html b/cu29/monitoring/struct.CuDurationStatistics.html index e7ded3a33..d06fddda7 100644 --- a/cu29/monitoring/struct.CuDurationStatistics.html +++ b/cu29/monitoring/struct.CuDurationStatistics.html @@ -1,4 +1,4 @@ -CuDurationStatistics in cu29::monitoring - Rust
cu29::monitoring

Struct CuDurationStatistics

Source
pub struct CuDurationStatistics { /* private fields */ }
Expand description

A Specialized statistics object for CuDuration. +CuDurationStatistics in cu29::monitoring - Rust

Struct CuDurationStatistics

Source
pub struct CuDurationStatistics { /* private fields */ }
Expand description

A Specialized statistics object for CuDuration. It will also keep track of the jitter between the values.

Implementations§

Source§

impl CuDurationStatistics

Source

pub fn new(max: CuDuration) -> CuDurationStatistics

Source

pub fn min(&self) -> CuDuration

Source

pub fn max(&self) -> CuDuration

Source

pub fn mean(&self) -> CuDuration

Source

pub fn percentile(&self, percentile: f64) -> CuDuration

Source

pub fn stddev(&self) -> CuDuration

Source

pub fn len(&self) -> u64

Source

pub fn is_empty(&self) -> bool

Source

pub fn jitter_min(&self) -> CuDuration

Source

pub fn jitter_max(&self) -> CuDuration

Source

pub fn jitter_mean(&self) -> CuDuration

Source

pub fn jitter_stddev(&self) -> CuDuration

Source

pub fn jitter_percentile(&self, percentile: f64) -> CuDuration

Source

pub fn record(&mut self, value: CuDuration)

Source

pub fn reset(&mut self)

Trait Implementations§

Source§

impl Clone for CuDurationStatistics

Source§

fn clone(&self) -> CuDurationStatistics

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CuDurationStatistics

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where diff --git a/cu29/monitoring/struct.LiveStatistics.html b/cu29/monitoring/struct.LiveStatistics.html index 1f28afcff..c4421f526 100644 --- a/cu29/monitoring/struct.LiveStatistics.html +++ b/cu29/monitoring/struct.LiveStatistics.html @@ -1,4 +1,4 @@ -LiveStatistics in cu29::monitoring - Rust
cu29::monitoring

Struct LiveStatistics

Source
pub struct LiveStatistics { /* private fields */ }
Expand description

Accumulative stat object that can give your some real time statistics.

+LiveStatistics in cu29::monitoring - Rust

Struct LiveStatistics

Source
pub struct LiveStatistics { /* private fields */ }
Expand description

Accumulative stat object that can give your some real time statistics.

Implementations§

Source§

impl LiveStatistics

Source

pub fn new_unbounded() -> LiveStatistics

Source

pub fn new_with_max(max: u64) -> LiveStatistics

Source

pub fn min(&self) -> u64

Source

pub fn max(&self) -> u64

Source

pub fn mean(&self) -> f64

Source

pub fn percentile(&self, percentile: f64) -> u64

Source

pub fn record(&mut self, value: u64)

Adds a value to the statistics.

Source

pub fn len(&self) -> u64

Source

pub fn is_empty(&self) -> bool

Source

pub fn reset(&mut self)

Trait Implementations§

Source§

impl Clone for LiveStatistics

Source§

fn clone(&self) -> LiveStatistics

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LiveStatistics

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where diff --git a/cu29/monitoring/struct.NoMonitor.html b/cu29/monitoring/struct.NoMonitor.html index aae0dea65..0694a1b96 100644 --- a/cu29/monitoring/struct.NoMonitor.html +++ b/cu29/monitoring/struct.NoMonitor.html @@ -1,4 +1,4 @@ -NoMonitor in cu29::monitoring - Rust
cu29::monitoring

Struct NoMonitor

Source
pub struct NoMonitor {}
Expand description

A do nothing monitor if no monitor is provided. +NoMonitor in cu29::monitoring - Rust

Struct NoMonitor

Source
pub struct NoMonitor {}
Expand description

A do nothing monitor if no monitor is provided. This is basically defining the default behavior of Copper in case of error.

Trait Implementations§

Source§

impl CuMonitor for NoMonitor

Source§

fn new( _config: &CuConfig, diff --git a/cu29/monitoring/struct.ScopedAllocCounter.html b/cu29/monitoring/struct.ScopedAllocCounter.html index 4c8349fd3..b56b6b41f 100644 --- a/cu29/monitoring/struct.ScopedAllocCounter.html +++ b/cu29/monitoring/struct.ScopedAllocCounter.html @@ -1,4 +1,4 @@ -ScopedAllocCounter in cu29::monitoring - Rust
cu29::monitoring

Struct ScopedAllocCounter

Source
pub struct ScopedAllocCounter { /* private fields */ }
Expand description

A simple struct that counts the number of bytes allocated and deallocated in a scope.

+ScopedAllocCounter in cu29::monitoring - Rust

Struct ScopedAllocCounter

Source
pub struct ScopedAllocCounter { /* private fields */ }
Expand description

A simple struct that counts the number of bytes allocated and deallocated in a scope.

Implementations§

Source§

impl ScopedAllocCounter

Source

pub fn new() -> ScopedAllocCounter

Source

pub fn get_allocated(&self) -> usize

Returns the total number of bytes allocated in the current scope since the creation of this ScopedAllocCounter.

§Example
diff --git a/cu29/monitoring/trait.CuMonitor.html b/cu29/monitoring/trait.CuMonitor.html index 588b75507..41938ce73 100644 --- a/cu29/monitoring/trait.CuMonitor.html +++ b/cu29/monitoring/trait.CuMonitor.html @@ -1,4 +1,4 @@ -CuMonitor in cu29::monitoring - Rust
cu29::monitoring

Trait CuMonitor

Source
pub trait CuMonitor: Sized {
+CuMonitor in cu29::monitoring - Rust

Trait CuMonitor

Source
pub trait CuMonitor: Sized {
     // Required methods
     fn new(
         config: &CuConfig,
diff --git a/cu29/payload/index.html b/cu29/payload/index.html
index 9e418bddb..c2ba87e09 100644
--- a/cu29/payload/index.html
+++ b/cu29/payload/index.html
@@ -1 +1 @@
-cu29::payload - Rust
cu29

Module payload

Source

Structs§

CuArray
Copper friendly wrapper for a fixed size array.
\ No newline at end of file +cu29::payload - Rust

Module payload

Source

Structs§

CuArray
Copper friendly wrapper for a fixed size array.
\ No newline at end of file diff --git a/cu29/payload/struct.CuArray.html b/cu29/payload/struct.CuArray.html index 5e83a067e..cdccefe4b 100644 --- a/cu29/payload/struct.CuArray.html +++ b/cu29/payload/struct.CuArray.html @@ -1,4 +1,4 @@ -CuArray in cu29::payload - Rust
cu29::payload

Struct CuArray

Source
pub struct CuArray<T, const N: usize> { /* private fields */ }
Expand description

Copper friendly wrapper for a fixed size array.

+CuArray in cu29::payload - Rust

Struct CuArray

Source
pub struct CuArray<T, const N: usize> { /* private fields */ }
Expand description

Copper friendly wrapper for a fixed size array.

Implementations§

Source§

impl<T, const N: usize> CuArray<T, N>

Source

pub fn new() -> CuArray<T, N>

Source

pub fn fill_from_iter<I>(&mut self, iter: I)
where I: IntoIterator<Item = T>,

Source

pub fn len(&self) -> usize

Source

pub fn is_empty(&self) -> bool

Source

pub fn as_slice(&self) -> &[T]

Source

pub fn capacity(&self) -> usize

Trait Implementations§

Source§

impl<T, const N: usize> Clone for CuArray<T, N>
where T: Clone,

Source§

fn clone(&self) -> CuArray<T, N>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T, const N: usize> Debug for CuArray<T, N>
where diff --git a/cu29/prelude/attr.copper_runtime.html b/cu29/prelude/attr.copper_runtime.html index 922c5cacf..8267f0d69 100644 --- a/cu29/prelude/attr.copper_runtime.html +++ b/cu29/prelude/attr.copper_runtime.html @@ -1,4 +1,4 @@ -copper_runtime in cu29::prelude - Rust
cu29::prelude

Attribute Macro copper_runtime

Source
#[copper_runtime]
Expand description

Adds #[copper_runtime(config = “path”, sim_mode = false/true)] to your application struct to generate the runtime. +copper_runtime in cu29::prelude - Rust

Attribute Macro copper_runtime

Source
#[copper_runtime]
Expand description

Adds #[copper_runtime(config = “path”, sim_mode = false/true)] to your application struct to generate the runtime. if sim_mode is omitted, it is set to false. This will add a “runtime” field to your struct and implement the “new” and “run” methods.

\ No newline at end of file diff --git a/cu29/prelude/config/fn.read_configuration.html b/cu29/prelude/config/fn.read_configuration.html index a013281a8..18200a494 100644 --- a/cu29/prelude/config/fn.read_configuration.html +++ b/cu29/prelude/config/fn.read_configuration.html @@ -1,2 +1,2 @@ -read_configuration in cu29::prelude::config - Rust
cu29::prelude::config

Function read_configuration

Source
pub fn read_configuration(config_filename: &str) -> Result<CuConfig, CuError>
Expand description

Read a copper configuration from a file.

+read_configuration in cu29::prelude::config - Rust

Function read_configuration

Source
pub fn read_configuration(config_filename: &str) -> Result<CuConfig, CuError>
Expand description

Read a copper configuration from a file.

\ No newline at end of file diff --git a/cu29/prelude/config/fn.read_configuration_str.html b/cu29/prelude/config/fn.read_configuration_str.html index 075ce22b6..5c5002c71 100644 --- a/cu29/prelude/config/fn.read_configuration_str.html +++ b/cu29/prelude/config/fn.read_configuration_str.html @@ -1,4 +1,4 @@ -read_configuration_str in cu29::prelude::config - Rust
cu29::prelude::config

Function read_configuration_str

Source
pub fn read_configuration_str(
+read_configuration_str in cu29::prelude::config - Rust

Function read_configuration_str

Source
pub fn read_configuration_str(
     config_content: String,
 ) -> Result<CuConfig, CuError>
Expand description

Read a copper configuration from a String.

\ No newline at end of file diff --git a/cu29/prelude/config/index.html b/cu29/prelude/config/index.html index 8540b2957..743c625b9 100644 --- a/cu29/prelude/config/index.html +++ b/cu29/prelude/config/index.html @@ -1,4 +1,4 @@ -cu29::prelude::config - Rust
cu29::prelude

Module config

Source
Expand description

This module defines the configuration of the copper runtime. +cu29::prelude::config - Rust

Module config

Source
Expand description

This module defines the configuration of the copper runtime. The configuration is a directed graph where nodes are tasks and edges are connections between tasks. The configuration is serialized in the RON format. The configuration is used to generate the runtime code at compile time.

diff --git a/cu29/prelude/config/struct.Cnx.html b/cu29/prelude/config/struct.Cnx.html index d20c5d997..bdcefdbdd 100644 --- a/cu29/prelude/config/struct.Cnx.html +++ b/cu29/prelude/config/struct.Cnx.html @@ -1,4 +1,4 @@ -Cnx in cu29::prelude::config - Rust
cu29::prelude::config

Struct Cnx

Source
pub struct Cnx {
+Cnx in cu29::prelude::config - Rust

Struct Cnx

Source
pub struct Cnx {
     pub msg: String,
     pub batch: Option<u32>,
     pub store: Option<bool>,
diff --git a/cu29/prelude/config/struct.ComponentConfig.html b/cu29/prelude/config/struct.ComponentConfig.html
index 78b1d2f64..8313c0215 100644
--- a/cu29/prelude/config/struct.ComponentConfig.html
+++ b/cu29/prelude/config/struct.ComponentConfig.html
@@ -1,4 +1,4 @@
-ComponentConfig in cu29::prelude::config - Rust
cu29::prelude::config

Struct ComponentConfig

Source
pub struct ComponentConfig(pub HashMap<String, Value>);
Expand description

This is the configuration of a component (like a task config or a monitoring config):w +ComponentConfig in cu29::prelude::config - Rust

Struct ComponentConfig

Source
pub struct ComponentConfig(pub HashMap<String, Value>);
Expand description

This is the configuration of a component (like a task config or a monitoring config):w It is a map of key-value pairs. It is given to the new method of the task implementation.

Tuple Fields§

§0: HashMap<String, Value>

Implementations§

Source§

impl ComponentConfig

Source

pub fn new() -> ComponentConfig

Source

pub fn get<T>(&self, key: &str) -> Option<T>
where diff --git a/cu29/prelude/config/struct.CuConfig.html b/cu29/prelude/config/struct.CuConfig.html index 905023616..f80e4597d 100644 --- a/cu29/prelude/config/struct.CuConfig.html +++ b/cu29/prelude/config/struct.CuConfig.html @@ -1,4 +1,4 @@ -CuConfig in cu29::prelude::config - Rust
cu29::prelude::config

Struct CuConfig

Source
pub struct CuConfig {
+CuConfig in cu29::prelude::config - Rust

Struct CuConfig

Source
pub struct CuConfig {
     pub graph: StableGraph<Node, Cnx>,
     pub monitor: Option<MonitorConfig>,
     pub logging: Option<LoggingConfig>,
diff --git a/cu29/prelude/config/struct.LoggingConfig.html b/cu29/prelude/config/struct.LoggingConfig.html
index 6408fb64d..2fe8a73ce 100644
--- a/cu29/prelude/config/struct.LoggingConfig.html
+++ b/cu29/prelude/config/struct.LoggingConfig.html
@@ -1,4 +1,4 @@
-LoggingConfig in cu29::prelude::config - Rust
cu29::prelude::config

Struct LoggingConfig

Source
pub struct LoggingConfig {
+LoggingConfig in cu29::prelude::config - Rust

Struct LoggingConfig

Source
pub struct LoggingConfig {
     pub slab_size_mib: Option<u64>,
     pub section_size_mib: Option<u64>,
     pub enable_task_logging: bool,
diff --git a/cu29/prelude/config/struct.MonitorConfig.html b/cu29/prelude/config/struct.MonitorConfig.html
index 89a6e0157..fe6332191 100644
--- a/cu29/prelude/config/struct.MonitorConfig.html
+++ b/cu29/prelude/config/struct.MonitorConfig.html
@@ -1,4 +1,4 @@
-MonitorConfig in cu29::prelude::config - Rust
cu29::prelude::config

Struct MonitorConfig

Source
pub struct MonitorConfig { /* private fields */ }

Implementations§

Trait Implementations§

Source§

impl Clone for MonitorConfig

Source§

fn clone(&self) -> MonitorConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MonitorConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for MonitorConfig

Source§

fn default() -> MonitorConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for MonitorConfig

Source§

fn deserialize<__D>( +MonitorConfig in cu29::prelude::config - Rust

Struct MonitorConfig

Source
pub struct MonitorConfig { /* private fields */ }

Implementations§

Trait Implementations§

Source§

impl Clone for MonitorConfig

Source§

fn clone(&self) -> MonitorConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MonitorConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for MonitorConfig

Source§

fn default() -> MonitorConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for MonitorConfig

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<MonitorConfig, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for MonitorConfig

Source§

fn serialize<__S>( diff --git a/cu29/prelude/config/struct.Node.html b/cu29/prelude/config/struct.Node.html index 0b5b273e5..a8aef5da5 100644 --- a/cu29/prelude/config/struct.Node.html +++ b/cu29/prelude/config/struct.Node.html @@ -1,4 +1,4 @@ -Node in cu29::prelude::config - Rust
cu29::prelude::config

Struct Node

Source
pub struct Node { /* private fields */ }
Expand description

A node in the configuration graph. +Node in cu29::prelude::config - Rust

Struct Node

Source
pub struct Node { /* private fields */ }
Expand description

A node in the configuration graph. A node represents a Task in the system Graph.

Implementations§

Source§

impl Node

Source

pub fn new(id: &str, ptype: &str) -> Node

Source

pub fn get_id(&self) -> String

Source

pub fn set_type(self, name: Option<String>) -> Node

Source

pub fn get_type(&self) -> &str

Source

pub fn get_instance_config(&self) -> Option<&ComponentConfig>

Source

pub fn get_param<T>(&self, key: &str) -> Option<T>
where T: From<Value>,

Source

pub fn set_param<T>(&mut self, key: &str, value: T)
where diff --git a/cu29/prelude/config/struct.Value.html b/cu29/prelude/config/struct.Value.html index 0be678297..fcf8461bb 100644 --- a/cu29/prelude/config/struct.Value.html +++ b/cu29/prelude/config/struct.Value.html @@ -1,4 +1,4 @@ -Value in cu29::prelude::config - Rust
cu29::prelude::config

Struct Value

Source
pub struct Value(/* private fields */);
Expand description

Wrapper around the ron::Value to allow for custom serialization.

+Value in cu29::prelude::config - Rust

Struct Value

Source
pub struct Value(/* private fields */);
Expand description

Wrapper around the ron::Value to allow for custom serialization.

Trait Implementations§

Source§

impl Clone for Value

Source§

fn clone(&self) -> Value

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Value

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Value

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<Value, <__D as Deserializer<'de>>::Error>
where diff --git a/cu29/prelude/config/type.NodeId.html b/cu29/prelude/config/type.NodeId.html index acc947324..e7675ba41 100644 --- a/cu29/prelude/config/type.NodeId.html +++ b/cu29/prelude/config/type.NodeId.html @@ -1,3 +1,3 @@ -NodeId in cu29::prelude::config - Rust
cu29::prelude::config

Type Alias NodeId

Source
pub type NodeId = u32;
Expand description

NodeId is the unique identifier of a node in the configuration graph for petgraph +NodeId in cu29::prelude::config - Rust

Type Alias NodeId

Source
pub type NodeId = u32;
Expand description

NodeId is the unique identifier of a node in the configuration graph for petgraph and the code generation.

\ No newline at end of file diff --git a/cu29/prelude/constant.ANONYMOUS.html b/cu29/prelude/constant.ANONYMOUS.html index c55842c1d..b4de858c4 100644 --- a/cu29/prelude/constant.ANONYMOUS.html +++ b/cu29/prelude/constant.ANONYMOUS.html @@ -1 +1 @@ -ANONYMOUS in cu29::prelude - Rust
cu29::prelude

Constant ANONYMOUS

pub const ANONYMOUS: u32 = 0; // 0u32
\ No newline at end of file +ANONYMOUS in cu29::prelude - Rust

Constant ANONYMOUS

pub const ANONYMOUS: u32 = 0; // 0u32
\ No newline at end of file diff --git a/cu29/prelude/constant.MAX_LOG_PARAMS_ON_STACK.html b/cu29/prelude/constant.MAX_LOG_PARAMS_ON_STACK.html index b0d3bb90b..fe1d9a580 100644 --- a/cu29/prelude/constant.MAX_LOG_PARAMS_ON_STACK.html +++ b/cu29/prelude/constant.MAX_LOG_PARAMS_ON_STACK.html @@ -1 +1 @@ -MAX_LOG_PARAMS_ON_STACK in cu29::prelude - Rust
cu29::prelude

Constant MAX_LOG_PARAMS_ON_STACK

pub const MAX_LOG_PARAMS_ON_STACK: usize = 10; // 10usize
\ No newline at end of file +MAX_LOG_PARAMS_ON_STACK in cu29::prelude - Rust

Constant MAX_LOG_PARAMS_ON_STACK

pub const MAX_LOG_PARAMS_ON_STACK: usize = 10; // 10usize
\ No newline at end of file diff --git a/cu29/prelude/copperlist/enum.CopperListState.html b/cu29/prelude/copperlist/enum.CopperListState.html index 86fe37d0c..58e408b86 100644 --- a/cu29/prelude/copperlist/enum.CopperListState.html +++ b/cu29/prelude/copperlist/enum.CopperListState.html @@ -1,4 +1,4 @@ -CopperListState in cu29::prelude::copperlist - Rust
cu29::prelude::copperlist

Enum CopperListState

Source
pub enum CopperListState {
+CopperListState in cu29::prelude::copperlist - Rust

Enum CopperListState

Source
pub enum CopperListState {
     Free,
     Initialized,
     Processing,
diff --git a/cu29/prelude/copperlist/index.html b/cu29/prelude/copperlist/index.html
index c42a46311..d7cc5ebc3 100644
--- a/cu29/prelude/copperlist/index.html
+++ b/cu29/prelude/copperlist/index.html
@@ -1,4 +1,4 @@
-cu29::prelude::copperlist - Rust
cu29::prelude

Module copperlist

Source
Expand description

CopperList is the main data structure used by Copper to communicate between tasks. +cu29::prelude::copperlist - Rust

Module copperlist

Source
Expand description

CopperList is the main data structure used by Copper to communicate between tasks. It is a queue that can be used to store preallocated messages between tasks in memory order.

Structs§

CopperLiskMask
Not implemented yet. This mask will be used to for example filter out necessary regions of a copper list between remote systems.
CopperList
CuListsManager
This structure maintains the entire memory needed by Copper for one loop for the inter tasks communication within a process. diff --git a/cu29/prelude/copperlist/struct.CopperLiskMask.html b/cu29/prelude/copperlist/struct.CopperLiskMask.html index 41d671100..207d03a2c 100644 --- a/cu29/prelude/copperlist/struct.CopperLiskMask.html +++ b/cu29/prelude/copperlist/struct.CopperLiskMask.html @@ -1,4 +1,4 @@ -CopperLiskMask in cu29::prelude::copperlist - Rust
cu29::prelude::copperlist

Struct CopperLiskMask

Source
pub struct CopperLiskMask { /* private fields */ }
Expand description

Not implemented yet. +CopperLiskMask in cu29::prelude::copperlist - Rust

Struct CopperLiskMask

Source
pub struct CopperLiskMask { /* private fields */ }
Expand description

Not implemented yet. This mask will be used to for example filter out necessary regions of a copper list between remote systems.

Trait Implementations§

Source§

impl<'__de> BorrowDecode<'__de> for CopperLiskMask

Source§

fn borrow_decode<__D>(decoder: &mut __D) -> Result<CopperLiskMask, DecodeError>
where __D: BorrowDecoder<'__de>,

Attempt to decode this type with the given BorrowDecode.
Source§

impl Clone for CopperLiskMask

Source§

fn clone(&self) -> CopperLiskMask

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CopperLiskMask

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Decode for CopperLiskMask

Source§

fn decode<__D>(decoder: &mut __D) -> Result<CopperLiskMask, DecodeError>
where diff --git a/cu29/prelude/copperlist/struct.CopperList.html b/cu29/prelude/copperlist/struct.CopperList.html index 31b509cb0..07be97c87 100644 --- a/cu29/prelude/copperlist/struct.CopperList.html +++ b/cu29/prelude/copperlist/struct.CopperList.html @@ -1,4 +1,4 @@ -CopperList in cu29::prelude::copperlist - Rust
cu29::prelude::copperlist

Struct CopperList

Source
pub struct CopperList<P>
where +CopperList in cu29::prelude::copperlist - Rust

Struct CopperList

Source
pub struct CopperList<P>
where P: CopperListTuple,
{ pub id: u32, pub msgs: P, diff --git a/cu29/prelude/copperlist/struct.CuListsManager.html b/cu29/prelude/copperlist/struct.CuListsManager.html index 6ed13275a..17e83c395 100644 --- a/cu29/prelude/copperlist/struct.CuListsManager.html +++ b/cu29/prelude/copperlist/struct.CuListsManager.html @@ -1,4 +1,4 @@ -CuListsManager in cu29::prelude::copperlist - Rust
cu29::prelude::copperlist

Struct CuListsManager

Source
pub struct CuListsManager<P, const N: usize>
where +CuListsManager in cu29::prelude::copperlist - Rust

Struct CuListsManager

Source
pub struct CuListsManager<P, const N: usize>
where P: CopperListTuple,
{ /* private fields */ }
Expand description

This structure maintains the entire memory needed by Copper for one loop for the inter tasks communication within a process. P or Payload is typically a Tuple of various types of messages that are exchanged between tasks. N is the maximum number of in flight Copper List the runtime can support.

diff --git a/cu29/prelude/copperlist/type.AscIter.html b/cu29/prelude/copperlist/type.AscIter.html index b64a0ee3b..b15e42394 100644 --- a/cu29/prelude/copperlist/type.AscIter.html +++ b/cu29/prelude/copperlist/type.AscIter.html @@ -1 +1 @@ -AscIter in cu29::prelude::copperlist - Rust
cu29::prelude::copperlist

Type Alias AscIter

Source
pub type AscIter<'a, T> = Chain<Iter<'a, T>, Iter<'a, T>>;

Aliased Type§

struct AscIter<'a, T> { /* private fields */ }
\ No newline at end of file +AscIter in cu29::prelude::copperlist - Rust

Type Alias AscIter

Source
pub type AscIter<'a, T> = Chain<Iter<'a, T>, Iter<'a, T>>;

Aliased Type§

struct AscIter<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29/prelude/copperlist/type.AscIterMut.html b/cu29/prelude/copperlist/type.AscIterMut.html index 279301695..0dd41e952 100644 --- a/cu29/prelude/copperlist/type.AscIterMut.html +++ b/cu29/prelude/copperlist/type.AscIterMut.html @@ -1 +1 @@ -AscIterMut in cu29::prelude::copperlist - Rust
cu29::prelude::copperlist

Type Alias AscIterMut

Source
pub type AscIterMut<'a, T> = Chain<IterMut<'a, T>, IterMut<'a, T>>;

Aliased Type§

struct AscIterMut<'a, T> { /* private fields */ }
\ No newline at end of file +AscIterMut in cu29::prelude::copperlist - Rust

Type Alias AscIterMut

Source
pub type AscIterMut<'a, T> = Chain<IterMut<'a, T>, IterMut<'a, T>>;

Aliased Type§

struct AscIterMut<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29/prelude/copperlist/type.Iter.html b/cu29/prelude/copperlist/type.Iter.html index b15952974..ade84c5cb 100644 --- a/cu29/prelude/copperlist/type.Iter.html +++ b/cu29/prelude/copperlist/type.Iter.html @@ -1 +1 @@ -Iter in cu29::prelude::copperlist - Rust
cu29::prelude::copperlist

Type Alias Iter

Source
pub type Iter<'a, T> = Chain<Rev<Iter<'a, T>>, Rev<Iter<'a, T>>>;

Aliased Type§

struct Iter<'a, T> { /* private fields */ }
\ No newline at end of file +Iter in cu29::prelude::copperlist - Rust

Type Alias Iter

Source
pub type Iter<'a, T> = Chain<Rev<Iter<'a, T>>, Rev<Iter<'a, T>>>;

Aliased Type§

struct Iter<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29/prelude/copperlist/type.IterMut.html b/cu29/prelude/copperlist/type.IterMut.html index fcfdb9388..1d7139c3b 100644 --- a/cu29/prelude/copperlist/type.IterMut.html +++ b/cu29/prelude/copperlist/type.IterMut.html @@ -1 +1 @@ -IterMut in cu29::prelude::copperlist - Rust
cu29::prelude::copperlist

Type Alias IterMut

Source
pub type IterMut<'a, T> = Chain<Rev<IterMut<'a, T>>, Rev<IterMut<'a, T>>>;

Aliased Type§

struct IterMut<'a, T> { /* private fields */ }
\ No newline at end of file +IterMut in cu29::prelude::copperlist - Rust

Type Alias IterMut

Source
pub type IterMut<'a, T> = Chain<Rev<IterMut<'a, T>>, Rev<IterMut<'a, T>>>;

Aliased Type§

struct IterMut<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29/prelude/curuntime/enum.CuExecutionUnit.html b/cu29/prelude/curuntime/enum.CuExecutionUnit.html index 95d8ffd52..279c58992 100644 --- a/cu29/prelude/curuntime/enum.CuExecutionUnit.html +++ b/cu29/prelude/curuntime/enum.CuExecutionUnit.html @@ -1,4 +1,4 @@ -CuExecutionUnit in cu29::prelude::curuntime - Rust
cu29::prelude::curuntime

Enum CuExecutionUnit

Source
pub enum CuExecutionUnit {
+CuExecutionUnit in cu29::prelude::curuntime - Rust

Enum CuExecutionUnit

Source
pub enum CuExecutionUnit {
     Step(CuExecutionStep),
     Loop(CuExecutionLoop),
 }
Expand description

This structure represents a step in the execution plan.

diff --git a/cu29/prelude/curuntime/enum.CuTaskType.html b/cu29/prelude/curuntime/enum.CuTaskType.html index b6c9a41e7..255f6ea69 100644 --- a/cu29/prelude/curuntime/enum.CuTaskType.html +++ b/cu29/prelude/curuntime/enum.CuTaskType.html @@ -1,4 +1,4 @@ -CuTaskType in cu29::prelude::curuntime - Rust
cu29::prelude::curuntime

Enum CuTaskType

Source
pub enum CuTaskType {
+CuTaskType in cu29::prelude::curuntime - Rust

Enum CuTaskType

Source
pub enum CuTaskType {
     Source,
     Regular,
     Sink,
diff --git a/cu29/prelude/curuntime/fn.compute_runtime_plan.html b/cu29/prelude/curuntime/fn.compute_runtime_plan.html
index 607813dc9..a09670181 100644
--- a/cu29/prelude/curuntime/fn.compute_runtime_plan.html
+++ b/cu29/prelude/curuntime/fn.compute_runtime_plan.html
@@ -1,4 +1,4 @@
-compute_runtime_plan in cu29::prelude::curuntime - Rust
cu29::prelude::curuntime

Function compute_runtime_plan

Source
pub fn compute_runtime_plan(
+compute_runtime_plan in cu29::prelude::curuntime - Rust

Function compute_runtime_plan

Source
pub fn compute_runtime_plan(
     config: &CuConfig,
 ) -> Result<CuExecutionLoop, CuError>
Expand description

This is the main heuristics to compute an execution plan at compilation time. TODO: Make that heuristic pluggable.

diff --git a/cu29/prelude/curuntime/fn.find_task_type_for_id.html b/cu29/prelude/curuntime/fn.find_task_type_for_id.html index 80cbabf5c..49883a3b5 100644 --- a/cu29/prelude/curuntime/fn.find_task_type_for_id.html +++ b/cu29/prelude/curuntime/fn.find_task_type_for_id.html @@ -1,4 +1,4 @@ -find_task_type_for_id in cu29::prelude::curuntime - Rust
cu29::prelude::curuntime

Function find_task_type_for_id

Source
pub fn find_task_type_for_id(
+find_task_type_for_id in cu29::prelude::curuntime - Rust

Function find_task_type_for_id

Source
pub fn find_task_type_for_id(
     graph: &StableGraph<Node, Cnx>,
     node_id: u32,
 ) -> CuTaskType
\ No newline at end of file diff --git a/cu29/prelude/curuntime/index.html b/cu29/prelude/curuntime/index.html index d67e80192..7360fb6cd 100644 --- a/cu29/prelude/curuntime/index.html +++ b/cu29/prelude/curuntime/index.html @@ -1,4 +1,4 @@ -cu29::prelude::curuntime - Rust
cu29::prelude

Module curuntime

Source
Expand description

CuRuntime is the heart of what copper is running on the robot. +cu29::prelude::curuntime - Rust

Module curuntime

Source
Expand description

CuRuntime is the heart of what copper is running on the robot. It is exposed to the user via the copper_runtime macro injecting it as a field in their application struct.

Structs§

CopperContext
Just a simple struct to hold the various bits needed to run a Copper application.
CuExecutionLoop
This structure represents a loop in the execution plan. It is used to represent a sequence of Execution units (loop or steps) that are executed diff --git a/cu29/prelude/curuntime/struct.CopperContext.html b/cu29/prelude/curuntime/struct.CopperContext.html index 6a0ced488..edd386903 100644 --- a/cu29/prelude/curuntime/struct.CopperContext.html +++ b/cu29/prelude/curuntime/struct.CopperContext.html @@ -1,4 +1,4 @@ -CopperContext in cu29::prelude::curuntime - Rust
cu29::prelude::curuntime

Struct CopperContext

Source
pub struct CopperContext {
+CopperContext in cu29::prelude::curuntime - Rust

Struct CopperContext

Source
pub struct CopperContext {
     pub unified_logger: Arc<Mutex<UnifiedLoggerWrite>>,
     pub logger_runtime: LoggerRuntime,
     pub clock: RobotClock,
diff --git a/cu29/prelude/curuntime/struct.CuExecutionLoop.html b/cu29/prelude/curuntime/struct.CuExecutionLoop.html
index 28322111b..a1c32bf17 100644
--- a/cu29/prelude/curuntime/struct.CuExecutionLoop.html
+++ b/cu29/prelude/curuntime/struct.CuExecutionLoop.html
@@ -1,4 +1,4 @@
-CuExecutionLoop in cu29::prelude::curuntime - Rust
cu29::prelude::curuntime

Struct CuExecutionLoop

Source
pub struct CuExecutionLoop {
+CuExecutionLoop in cu29::prelude::curuntime - Rust

Struct CuExecutionLoop

Source
pub struct CuExecutionLoop {
     pub steps: Vec<CuExecutionUnit>,
     pub loop_count: Option<u32>,
 }
Expand description

This structure represents a loop in the execution plan. diff --git a/cu29/prelude/curuntime/struct.CuExecutionStep.html b/cu29/prelude/curuntime/struct.CuExecutionStep.html index 146c2d580..4647b2fc5 100644 --- a/cu29/prelude/curuntime/struct.CuExecutionStep.html +++ b/cu29/prelude/curuntime/struct.CuExecutionStep.html @@ -1,4 +1,4 @@ -CuExecutionStep in cu29::prelude::curuntime - Rust

cu29::prelude::curuntime

Struct CuExecutionStep

Source
pub struct CuExecutionStep {
+CuExecutionStep in cu29::prelude::curuntime - Rust

Struct CuExecutionStep

Source
pub struct CuExecutionStep {
     pub node_id: u32,
     pub node: Node,
     pub task_type: CuTaskType,
diff --git a/cu29/prelude/curuntime/struct.CuRuntime.html b/cu29/prelude/curuntime/struct.CuRuntime.html
index 1e7b9398a..f96338556 100644
--- a/cu29/prelude/curuntime/struct.CuRuntime.html
+++ b/cu29/prelude/curuntime/struct.CuRuntime.html
@@ -1,4 +1,4 @@
-CuRuntime in cu29::prelude::curuntime - Rust
cu29::prelude::curuntime

Struct CuRuntime

Source
pub struct CuRuntime<CT, P, M, const NBCL: usize>
where +CuRuntime in cu29::prelude::curuntime - Rust

Struct CuRuntime

Source
pub struct CuRuntime<CT, P, M, const NBCL: usize>{
     pub tasks: CT,
diff --git a/cu29/prelude/cutask/index.html b/cu29/prelude/cutask/index.html
index 868c07d44..18f833498 100644
--- a/cu29/prelude/cutask/index.html
+++ b/cu29/prelude/cutask/index.html
@@ -1,4 +1,4 @@
-cu29::prelude::cutask - Rust
cu29::prelude

Module cutask

Source
Expand description

This module contains all the main definition of the traits you need to implement +cu29::prelude::cutask - Rust

Module cutask

Source
Expand description

This module contains all the main definition of the traits you need to implement or interact with to create a Copper task.

Structs§

CuCompactString
CuMsg
CuMsg is the envelope holding the msg payload and the metadata between tasks.
CuMsgMetadata
CuMsgMetadata is a structure that contains metadata common to all CuMsgs.

Traits§

CuMsgPack
CuMsgPayload
CuSinkTask
A Sink Task is a task that only consumes messages. For example drivers for actuators are Sink Tasks.
CuSrcTask
A Src Task is a task that only produces messages. For example drivers for sensors are Src Tasks. They are in push mode from the runtime. diff --git a/cu29/prelude/cutask/struct.CuCompactString.html b/cu29/prelude/cutask/struct.CuCompactString.html index 31ba76c41..d4090378b 100644 --- a/cu29/prelude/cutask/struct.CuCompactString.html +++ b/cu29/prelude/cutask/struct.CuCompactString.html @@ -1,4 +1,4 @@ -CuCompactString in cu29::prelude::cutask - Rust
cu29::prelude::cutask

Struct CuCompactString

Source
pub struct CuCompactString(pub CompactString);

Tuple Fields§

§0: CompactString

Trait Implementations§

Source§

impl<'de> BorrowDecode<'de> for CuCompactString

Source§

fn borrow_decode<D>(decoder: &mut D) -> Result<CuCompactString, DecodeError>
where +CuCompactString in cu29::prelude::cutask - Rust

Struct CuCompactString

Source
pub struct CuCompactString(pub CompactString);

Tuple Fields§

§0: CompactString

Trait Implementations§

Source§

impl<'de> BorrowDecode<'de> for CuCompactString

Source§

fn borrow_decode<D>(decoder: &mut D) -> Result<CuCompactString, DecodeError>
where D: BorrowDecoder<'de>,

Attempt to decode this type with the given BorrowDecode.
Source§

impl Clone for CuCompactString

Source§

fn clone(&self) -> CuCompactString

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CuCompactString

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Decode for CuCompactString

Source§

fn decode<D>(decoder: &mut D) -> Result<CuCompactString, DecodeError>
where D: Decoder,

Attempt to decode this type with the given Decode.
Source§

impl Default for CuCompactString

Source§

fn default() -> CuCompactString

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for CuCompactString

Source§

fn deserialize<__D>( __deserializer: __D, diff --git a/cu29/prelude/cutask/struct.CuMsg.html b/cu29/prelude/cutask/struct.CuMsg.html index a6dbc747d..be44f5ec2 100644 --- a/cu29/prelude/cutask/struct.CuMsg.html +++ b/cu29/prelude/cutask/struct.CuMsg.html @@ -1,4 +1,4 @@ -CuMsg in cu29::prelude::cutask - Rust
cu29::prelude::cutask

Struct CuMsg

Source
pub struct CuMsg<T>
where +CuMsg in cu29::prelude::cutask - Rust

Struct CuMsg

Source
pub struct CuMsg<T>
where T: CuMsgPayload,
{ pub metadata: CuMsgMetadata, /* private fields */ diff --git a/cu29/prelude/cutask/struct.CuMsgMetadata.html b/cu29/prelude/cutask/struct.CuMsgMetadata.html index 3f2704b36..d27af61ff 100644 --- a/cu29/prelude/cutask/struct.CuMsgMetadata.html +++ b/cu29/prelude/cutask/struct.CuMsgMetadata.html @@ -1,4 +1,4 @@ -CuMsgMetadata in cu29::prelude::cutask - Rust
cu29::prelude::cutask

Struct CuMsgMetadata

Source
pub struct CuMsgMetadata {
+CuMsgMetadata in cu29::prelude::cutask - Rust

Struct CuMsgMetadata

Source
pub struct CuMsgMetadata {
     pub process_time: PartialCuTimeRange,
     pub tov: Tov,
     pub status_txt: CuCompactString,
diff --git a/cu29/prelude/cutask/trait.CuMsgPack.html b/cu29/prelude/cutask/trait.CuMsgPack.html
index f9c3dd3e6..09b1b9f24 100644
--- a/cu29/prelude/cutask/trait.CuMsgPack.html
+++ b/cu29/prelude/cutask/trait.CuMsgPack.html
@@ -1,4 +1,4 @@
-CuMsgPack in cu29::prelude::cutask - Rust
cu29::prelude::cutask

Trait CuMsgPack

Source
pub trait CuMsgPack<'cl> { }

Implementations on Foreign Types§

Source§

impl CuMsgPack<'_> for ()

Source§

impl<'cl, T1, T2> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>)
where +CuMsgPack in cu29::prelude::cutask - Rust

Trait CuMsgPack

Source
pub trait CuMsgPack<'cl> { }

Implementations on Foreign Types§

Source§

impl CuMsgPack<'_> for ()

Source§

impl<'cl, T1, T2> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>)
where T1: CuMsgPayload + 'cl, T2: CuMsgPayload + 'cl,

Source§

impl<'cl, T1, T2, T3> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>, &'cl CuMsg<T3>)
where T1: CuMsgPayload + 'cl, diff --git a/cu29/prelude/cutask/trait.CuMsgPayload.html b/cu29/prelude/cutask/trait.CuMsgPayload.html index c2ac91960..766cac935 100644 --- a/cu29/prelude/cutask/trait.CuMsgPayload.html +++ b/cu29/prelude/cutask/trait.CuMsgPayload.html @@ -1,4 +1,4 @@ -CuMsgPayload in cu29::prelude::cutask - Rust
cu29::prelude::cutask

Trait CuMsgPayload

Source
pub trait CuMsgPayload:
+CuMsgPayload in cu29::prelude::cutask - Rust

Trait CuMsgPayload

Source
pub trait CuMsgPayload:
     Sized
     + Default
     + Debug
diff --git a/cu29/prelude/cutask/trait.CuSinkTask.html b/cu29/prelude/cutask/trait.CuSinkTask.html
index f2fceaffe..e4a29da97 100644
--- a/cu29/prelude/cutask/trait.CuSinkTask.html
+++ b/cu29/prelude/cutask/trait.CuSinkTask.html
@@ -1,4 +1,4 @@
-CuSinkTask in cu29::prelude::cutask - Rust
cu29::prelude::cutask

Trait CuSinkTask

Source
pub trait CuSinkTask<'cl>: Freezable {
+CuSinkTask in cu29::prelude::cutask - Rust

Trait CuSinkTask

Source
pub trait CuSinkTask<'cl>: Freezable {
     type Input: CuMsgPack<'cl>;
 
     // Required methods
diff --git a/cu29/prelude/cutask/trait.CuSrcTask.html b/cu29/prelude/cutask/trait.CuSrcTask.html
index aa14bd9cb..96b9a2b0b 100644
--- a/cu29/prelude/cutask/trait.CuSrcTask.html
+++ b/cu29/prelude/cutask/trait.CuSrcTask.html
@@ -1,4 +1,4 @@
-CuSrcTask in cu29::prelude::cutask - Rust
cu29::prelude::cutask

Trait CuSrcTask

Source
pub trait CuSrcTask<'cl>: Freezable {
+CuSrcTask in cu29::prelude::cutask - Rust

Trait CuSrcTask

Source
pub trait CuSrcTask<'cl>: Freezable {
     type Output: CuMsgPack<'cl>;
 
     // Required methods
diff --git a/cu29/prelude/cutask/trait.CuTask.html b/cu29/prelude/cutask/trait.CuTask.html
index adc13f93e..74cba539c 100644
--- a/cu29/prelude/cutask/trait.CuTask.html
+++ b/cu29/prelude/cutask/trait.CuTask.html
@@ -1,4 +1,4 @@
-CuTask in cu29::prelude::cutask - Rust
cu29::prelude::cutask

Trait CuTask

Source
pub trait CuTask<'cl>: Freezable {
+CuTask in cu29::prelude::cutask - Rust

Trait CuTask

Source
pub trait CuTask<'cl>: Freezable {
     type Input: CuMsgPack<'cl>;
     type Output: CuMsgPack<'cl>;
 
diff --git a/cu29/prelude/cutask/trait.Freezable.html b/cu29/prelude/cutask/trait.Freezable.html
index 1a7e4cee6..92708d37d 100644
--- a/cu29/prelude/cutask/trait.Freezable.html
+++ b/cu29/prelude/cutask/trait.Freezable.html
@@ -1,4 +1,4 @@
-Freezable in cu29::prelude::cutask - Rust
cu29::prelude::cutask

Trait Freezable

Source
pub trait Freezable {
+Freezable in cu29::prelude::cutask - Rust

Trait Freezable

Source
pub trait Freezable {
     // Provided methods
     fn freeze<E>(&self, encoder: &mut E) -> Result<(), EncodeError>
        where E: Encoder { ... }
diff --git a/cu29/prelude/enum.AllocatedSection.html b/cu29/prelude/enum.AllocatedSection.html
index 139613782..bf44c2f51 100644
--- a/cu29/prelude/enum.AllocatedSection.html
+++ b/cu29/prelude/enum.AllocatedSection.html
@@ -1,4 +1,4 @@
-AllocatedSection in cu29::prelude - Rust
cu29::prelude

Enum AllocatedSection

Source
pub enum AllocatedSection {
+AllocatedSection in cu29::prelude - Rust

Enum AllocatedSection

Source
pub enum AllocatedSection {
     NoMoreSpace,
     Section(SectionHandle),
 }

Variants§

§

NoMoreSpace

§

Section(SectionHandle)

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where diff --git a/cu29/prelude/enum.CopperListState.html b/cu29/prelude/enum.CopperListState.html index f69e0c784..4c1cd95b7 100644 --- a/cu29/prelude/enum.CopperListState.html +++ b/cu29/prelude/enum.CopperListState.html @@ -1,4 +1,4 @@ -CopperListState in cu29::prelude - Rust
cu29::prelude

Enum CopperListState

Source
pub enum CopperListState {
+CopperListState in cu29::prelude - Rust

Enum CopperListState

Source
pub enum CopperListState {
     Free,
     Initialized,
     Processing,
diff --git a/cu29/prelude/enum.CuExecutionUnit.html b/cu29/prelude/enum.CuExecutionUnit.html
index 688507bdc..1f3f71025 100644
--- a/cu29/prelude/enum.CuExecutionUnit.html
+++ b/cu29/prelude/enum.CuExecutionUnit.html
@@ -1,4 +1,4 @@
-CuExecutionUnit in cu29::prelude - Rust
cu29::prelude

Enum CuExecutionUnit

Source
pub enum CuExecutionUnit {
+CuExecutionUnit in cu29::prelude - Rust

Enum CuExecutionUnit

Source
pub enum CuExecutionUnit {
     Step(CuExecutionStep),
     Loop(CuExecutionLoop),
 }
Expand description

This structure represents a step in the execution plan.

diff --git a/cu29/prelude/enum.CuHandleInner.html b/cu29/prelude/enum.CuHandleInner.html index 3fc78c406..680313edf 100644 --- a/cu29/prelude/enum.CuHandleInner.html +++ b/cu29/prelude/enum.CuHandleInner.html @@ -1,4 +1,4 @@ -CuHandleInner in cu29::prelude - Rust
cu29::prelude

Enum CuHandleInner

Source
pub enum CuHandleInner<T>
where +CuHandleInner in cu29::prelude - Rust

Enum CuHandleInner

Source
pub enum CuHandleInner<T>
where T: Debug,
{ Pooled(ReusableOwned<T>), Detached(T), diff --git a/cu29/prelude/enum.CuTaskCallbackState.html b/cu29/prelude/enum.CuTaskCallbackState.html index f962f975c..47f3e4259 100644 --- a/cu29/prelude/enum.CuTaskCallbackState.html +++ b/cu29/prelude/enum.CuTaskCallbackState.html @@ -1,4 +1,4 @@ -CuTaskCallbackState in cu29::prelude - Rust
cu29::prelude

Enum CuTaskCallbackState

Source
pub enum CuTaskCallbackState<'cl, I, O>
where +CuTaskCallbackState in cu29::prelude - Rust

Enum CuTaskCallbackState

Source
pub enum CuTaskCallbackState<'cl, I, O>
where I: CuMsgPack<'cl>, O: CuMsgPack<'cl>,
{ New(Option<ComponentConfig>), diff --git a/cu29/prelude/enum.CuTaskState.html b/cu29/prelude/enum.CuTaskState.html index 1587dad3f..35f06442d 100644 --- a/cu29/prelude/enum.CuTaskState.html +++ b/cu29/prelude/enum.CuTaskState.html @@ -1,4 +1,4 @@ -CuTaskState in cu29::prelude - Rust
cu29::prelude

Enum CuTaskState

Source
pub enum CuTaskState {
+CuTaskState in cu29::prelude - Rust

Enum CuTaskState

Source
pub enum CuTaskState {
     Start,
     Preprocess,
     Process,
diff --git a/cu29/prelude/enum.CuTaskType.html b/cu29/prelude/enum.CuTaskType.html
index 3f18eba16..dcee41bd0 100644
--- a/cu29/prelude/enum.CuTaskType.html
+++ b/cu29/prelude/enum.CuTaskType.html
@@ -1,4 +1,4 @@
-CuTaskType in cu29::prelude - Rust
cu29::prelude

Enum CuTaskType

Source
pub enum CuTaskType {
+CuTaskType in cu29::prelude - Rust

Enum CuTaskType

Source
pub enum CuTaskType {
     Source,
     Regular,
     Sink,
diff --git a/cu29/prelude/enum.Decision.html b/cu29/prelude/enum.Decision.html
index 6447ae84a..3f208471b 100644
--- a/cu29/prelude/enum.Decision.html
+++ b/cu29/prelude/enum.Decision.html
@@ -1,4 +1,4 @@
-Decision in cu29::prelude - Rust
cu29::prelude

Enum Decision

Source
pub enum Decision {
+Decision in cu29::prelude - Rust

Enum Decision

Source
pub enum Decision {
     Abort,
     Ignore,
     Shutdown,
diff --git a/cu29/prelude/enum.SimOverride.html b/cu29/prelude/enum.SimOverride.html
index 3e747d16c..2607f229f 100644
--- a/cu29/prelude/enum.SimOverride.html
+++ b/cu29/prelude/enum.SimOverride.html
@@ -1,4 +1,4 @@
-SimOverride in cu29::prelude - Rust
cu29::prelude

Enum SimOverride

Source
pub enum SimOverride {
+SimOverride in cu29::prelude - Rust

Enum SimOverride

Source
pub enum SimOverride {
     ExecutedBySim,
     ExecuteByRuntime,
     Errored(String),
diff --git a/cu29/prelude/enum.Tov.html b/cu29/prelude/enum.Tov.html
index 9e8f4645d..ebf066f97 100644
--- a/cu29/prelude/enum.Tov.html
+++ b/cu29/prelude/enum.Tov.html
@@ -1,4 +1,4 @@
-Tov in cu29::prelude - Rust
cu29::prelude

Enum Tov

pub enum Tov {
+Tov in cu29::prelude - Rust

Enum Tov

pub enum Tov {
     None,
     Time(CuDuration),
     Range(CuTimeRange),
diff --git a/cu29/prelude/enum.UnifiedLogType.html b/cu29/prelude/enum.UnifiedLogType.html
index df09796e1..9c5d0f232 100644
--- a/cu29/prelude/enum.UnifiedLogType.html
+++ b/cu29/prelude/enum.UnifiedLogType.html
@@ -1,4 +1,4 @@
-UnifiedLogType in cu29::prelude - Rust
cu29::prelude

Enum UnifiedLogType

pub enum UnifiedLogType {
+UnifiedLogType in cu29::prelude - Rust

Enum UnifiedLogType

pub enum UnifiedLogType {
     Empty,
     StructuredLogLine,
     CopperList,
diff --git a/cu29/prelude/enum.UnifiedLogger.html b/cu29/prelude/enum.UnifiedLogger.html
index 6f442261b..14b8735b5 100644
--- a/cu29/prelude/enum.UnifiedLogger.html
+++ b/cu29/prelude/enum.UnifiedLogger.html
@@ -1,4 +1,4 @@
-UnifiedLogger in cu29::prelude - Rust
cu29::prelude

Enum UnifiedLogger

Source
pub enum UnifiedLogger {
+UnifiedLogger in cu29::prelude - Rust

Enum UnifiedLogger

Source
pub enum UnifiedLogger {
     Read(UnifiedLoggerRead),
     Write(UnifiedLoggerWrite),
 }
Expand description

Holder of the read or write side of the datalogger.

diff --git a/cu29/prelude/enum.Value.html b/cu29/prelude/enum.Value.html index 4f35cec76..ca2376ad3 100644 --- a/cu29/prelude/enum.Value.html +++ b/cu29/prelude/enum.Value.html @@ -1,4 +1,4 @@ -Value in cu29::prelude - Rust
cu29::prelude

Enum Value

Source
pub enum Value {
+Value in cu29::prelude - Rust

Enum Value

Source
pub enum Value {
 
Show 20 variants Bool(bool), U8(u8), U16(u16), diff --git a/cu29/prelude/fn.compute_runtime_plan.html b/cu29/prelude/fn.compute_runtime_plan.html index 7ac1ba3d1..a8963f720 100644 --- a/cu29/prelude/fn.compute_runtime_plan.html +++ b/cu29/prelude/fn.compute_runtime_plan.html @@ -1,4 +1,4 @@ -compute_runtime_plan in cu29::prelude - Rust
cu29::prelude

Function compute_runtime_plan

Source
pub fn compute_runtime_plan(
+compute_runtime_plan in cu29::prelude - Rust

Function compute_runtime_plan

Source
pub fn compute_runtime_plan(
     config: &CuConfig,
 ) -> Result<CuExecutionLoop, CuError>
Expand description

This is the main heuristics to compute an execution plan at compilation time. TODO: Make that heuristic pluggable.

diff --git a/cu29/prelude/fn.default_log_index_dir.html b/cu29/prelude/fn.default_log_index_dir.html index 50ba7e57b..9887ac75f 100644 --- a/cu29/prelude/fn.default_log_index_dir.html +++ b/cu29/prelude/fn.default_log_index_dir.html @@ -1,2 +1,2 @@ -default_log_index_dir in cu29::prelude - Rust
cu29::prelude

Function default_log_index_dir

pub fn default_log_index_dir() -> PathBuf
Expand description

Convenience function to returns the default path for the log index directory.

+default_log_index_dir in cu29::prelude - Rust

Function default_log_index_dir

pub fn default_log_index_dir() -> PathBuf
Expand description

Convenience function to returns the default path for the log index directory.

\ No newline at end of file diff --git a/cu29/prelude/fn.find_task_type_for_id.html b/cu29/prelude/fn.find_task_type_for_id.html index 9dbc00d40..d2cfbdb75 100644 --- a/cu29/prelude/fn.find_task_type_for_id.html +++ b/cu29/prelude/fn.find_task_type_for_id.html @@ -1,4 +1,4 @@ -find_task_type_for_id in cu29::prelude - Rust
cu29::prelude

Function find_task_type_for_id

Source
pub fn find_task_type_for_id(
+find_task_type_for_id in cu29::prelude - Rust

Function find_task_type_for_id

Source
pub fn find_task_type_for_id(
     graph: &StableGraph<Node, Cnx>,
     node_id: u32,
 ) -> CuTaskType
\ No newline at end of file diff --git a/cu29/prelude/fn.format_logline.html b/cu29/prelude/fn.format_logline.html index 090abfac9..355a1b26d 100644 --- a/cu29/prelude/fn.format_logline.html +++ b/cu29/prelude/fn.format_logline.html @@ -1,4 +1,4 @@ -format_logline in cu29::prelude - Rust
cu29::prelude

Function format_logline

pub fn format_logline(
+format_logline in cu29::prelude - Rust

Function format_logline

pub fn format_logline(
     time: CuDuration,
     format_str: &str,
     params: &[String],
diff --git a/cu29/prelude/fn.log.html b/cu29/prelude/fn.log.html
index d115bff85..8729e0dae 100644
--- a/cu29/prelude/fn.log.html
+++ b/cu29/prelude/fn.log.html
@@ -1,3 +1,3 @@
-log in cu29::prelude - Rust
cu29::prelude

Function log

pub fn log(entry: &mut CuLogEntry) -> Result<(), CuError>
Expand description

Function called from generated code to log data. +log in cu29::prelude - Rust

Function log

pub fn log(entry: &mut CuLogEntry) -> Result<(), CuError>
Expand description

Function called from generated code to log data. It moves entry by design, it will be absorbed in the queue.

\ No newline at end of file diff --git a/cu29/prelude/fn.log_debug_mode.html b/cu29/prelude/fn.log_debug_mode.html index 5b80f6d73..e02ee122c 100644 --- a/cu29/prelude/fn.log_debug_mode.html +++ b/cu29/prelude/fn.log_debug_mode.html @@ -1,4 +1,4 @@ -log_debug_mode in cu29::prelude - Rust
cu29::prelude

Function log_debug_mode

pub fn log_debug_mode(
+log_debug_mode in cu29::prelude - Rust

Function log_debug_mode

pub fn log_debug_mode(
     entry: &mut CuLogEntry,
     format_str: &str,
     param_names: &[&str],
diff --git a/cu29/prelude/fn.pools_statistics.html b/cu29/prelude/fn.pools_statistics.html
index dbe2df7a2..10285f427 100644
--- a/cu29/prelude/fn.pools_statistics.html
+++ b/cu29/prelude/fn.pools_statistics.html
@@ -1,3 +1,3 @@
-pools_statistics in cu29::prelude - Rust
cu29::prelude

Function pools_statistics

Source
pub fn pools_statistics() -> SmallVec<[(ArrayString<64>, usize, usize, usize); 16]>
Expand description

Get the list of pools and their statistics. +pools_statistics in cu29::prelude - Rust

Function pools_statistics

Source
pub fn pools_statistics() -> SmallVec<[(ArrayString<64>, usize, usize, usize); 16]>
Expand description

Get the list of pools and their statistics. We use SmallVec here to avoid heap allocations while the stack is running.

\ No newline at end of file diff --git a/cu29/prelude/fn.read_configuration.html b/cu29/prelude/fn.read_configuration.html index 23e8c04c9..1548ae1b6 100644 --- a/cu29/prelude/fn.read_configuration.html +++ b/cu29/prelude/fn.read_configuration.html @@ -1,2 +1,2 @@ -read_configuration in cu29::prelude - Rust
cu29::prelude

Function read_configuration

Source
pub fn read_configuration(config_filename: &str) -> Result<CuConfig, CuError>
Expand description

Read a copper configuration from a file.

+read_configuration in cu29::prelude - Rust

Function read_configuration

Source
pub fn read_configuration(config_filename: &str) -> Result<CuConfig, CuError>
Expand description

Read a copper configuration from a file.

\ No newline at end of file diff --git a/cu29/prelude/fn.read_configuration_str.html b/cu29/prelude/fn.read_configuration_str.html index 78e7d4b7d..60c51e63e 100644 --- a/cu29/prelude/fn.read_configuration_str.html +++ b/cu29/prelude/fn.read_configuration_str.html @@ -1,4 +1,4 @@ -read_configuration_str in cu29::prelude - Rust
cu29::prelude

Function read_configuration_str

Source
pub fn read_configuration_str(
+read_configuration_str in cu29::prelude - Rust

Function read_configuration_str

Source
pub fn read_configuration_str(
     config_content: String,
 ) -> Result<CuConfig, CuError>
Expand description

Read a copper configuration from a String.

\ No newline at end of file diff --git a/cu29/prelude/fn.read_interned_strings.html b/cu29/prelude/fn.read_interned_strings.html index a86e39a0f..750d346e8 100644 --- a/cu29/prelude/fn.read_interned_strings.html +++ b/cu29/prelude/fn.read_interned_strings.html @@ -1,2 +1,2 @@ -read_interned_strings in cu29::prelude - Rust
cu29::prelude

Function read_interned_strings

Source
pub fn read_interned_strings(index: &Path) -> Result<Vec<String>, CuError>
Expand description

Rebuild the interned string index in memory.

+read_interned_strings in cu29::prelude - Rust

Function read_interned_strings

Source
pub fn read_interned_strings(index: &Path) -> Result<Vec<String>, CuError>
Expand description

Rebuild the interned string index in memory.

\ No newline at end of file diff --git a/cu29/prelude/fn.rebuild_logline.html b/cu29/prelude/fn.rebuild_logline.html index 002d5e0d5..98f58950d 100644 --- a/cu29/prelude/fn.rebuild_logline.html +++ b/cu29/prelude/fn.rebuild_logline.html @@ -1,4 +1,4 @@ -rebuild_logline in cu29::prelude - Rust
cu29::prelude

Function rebuild_logline

pub fn rebuild_logline(
+rebuild_logline in cu29::prelude - Rust

Function rebuild_logline

pub fn rebuild_logline(
     all_interned_strings: &[String],
     entry: &CuLogEntry,
 ) -> Result<String, CuError>
Expand description

Rebuild a log line from the interned strings and the CuLogEntry. diff --git a/cu29/prelude/fn.stream_write.html b/cu29/prelude/fn.stream_write.html index d571969c2..a873df825 100644 --- a/cu29/prelude/fn.stream_write.html +++ b/cu29/prelude/fn.stream_write.html @@ -1,4 +1,4 @@ -stream_write in cu29::prelude - Rust

cu29::prelude

Function stream_write

Source
pub fn stream_write<E>(
+stream_write in cu29::prelude - Rust

Function stream_write

Source
pub fn stream_write<E>(
     logger: Arc<Mutex<UnifiedLoggerWrite>>,
     entry_type: UnifiedLogType,
     minimum_allocation_amount: usize,
diff --git a/cu29/prelude/fn.to_value.html b/cu29/prelude/fn.to_value.html
index 21d5f1952..d4eb688f2 100644
--- a/cu29/prelude/fn.to_value.html
+++ b/cu29/prelude/fn.to_value.html
@@ -1,2 +1,2 @@
-to_value in cu29::prelude - Rust
cu29::prelude

Function to_value

Source
pub fn to_value<T>(value: T) -> Result<Value, SerializerError>
where +to_value in cu29::prelude - Rust

Function to_value

Source
pub fn to_value<T>(value: T) -> Result<Value, SerializerError>
where T: Serialize,
\ No newline at end of file diff --git a/cu29/prelude/index.html b/cu29/prelude/index.html index 1b2dd9a0c..75e72504d 100644 --- a/cu29/prelude/index.html +++ b/cu29/prelude/index.html @@ -1,4 +1,4 @@ -cu29::prelude - Rust
cu29

Module prelude

Source

Modules§

config
This module defines the configuration of the copper runtime. +cu29::prelude - Rust

Module prelude

Source

Modules§

config
This module defines the configuration of the copper runtime. The configuration is a directed graph where nodes are tasks and edges are connections between tasks. The configuration is serialized in the RON format. The configuration is used to generate the runtime code at compile time.
copperlist
CopperList is the main data structure used by Copper to communicate between tasks. diff --git a/cu29/prelude/macro.debug.html b/cu29/prelude/macro.debug.html index 53d8b002f..f6bafb9f4 100644 --- a/cu29/prelude/macro.debug.html +++ b/cu29/prelude/macro.debug.html @@ -1,4 +1,4 @@ -debug in cu29::prelude - Rust
cu29::prelude

Macro debug

Source
debug!() { /* proc-macro */ }
Expand description

This macro is used to log a message with parameters. +debug in cu29::prelude - Rust

Macro debug

Source
debug!() { /* proc-macro */ }
Expand description

This macro is used to log a message with parameters. The first parameter is a string literal that represents the message to be logged. Only {} is supported as a placeholder for parameters. The rest of the parameters are the values to be logged. diff --git a/cu29/prelude/macro.gen_cumsgs.html b/cu29/prelude/macro.gen_cumsgs.html index dc6228f68..41865dc22 100644 --- a/cu29/prelude/macro.gen_cumsgs.html +++ b/cu29/prelude/macro.gen_cumsgs.html @@ -1,4 +1,4 @@ -gen_cumsgs in cu29::prelude - Rust

cu29::prelude

Macro gen_cumsgs

Source
gen_cumsgs!() { /* proc-macro */ }
Expand description

Generates the CopperList content type from a config. +gen_cumsgs in cu29::prelude - Rust

Macro gen_cumsgs

Source
gen_cumsgs!() { /* proc-macro */ }
Expand description

Generates the CopperList content type from a config. gen_cumsgs!(“path/to/config.toml”) It will create a new type called CuMsgs you can pass to the log reader for decoding:

\ No newline at end of file diff --git a/cu29/prelude/macro.input_msg.html b/cu29/prelude/macro.input_msg.html index edcdc6f67..0fdc859d1 100644 --- a/cu29/prelude/macro.input_msg.html +++ b/cu29/prelude/macro.input_msg.html @@ -1,4 +1,4 @@ -input_msg in cu29::prelude - Rust
cu29::prelude

Macro input_msg

Source
macro_rules! input_msg {
+input_msg in cu29::prelude - Rust

Macro input_msg

Source
macro_rules! input_msg {
     ($lifetime:lifetime, $ty:ty) => { ... };
     ($lifetime:lifetime, $($ty:ty),*) => { ... };
 }
\ No newline at end of file diff --git a/cu29/prelude/macro.output_msg.html b/cu29/prelude/macro.output_msg.html index ab9ae829d..a33201097 100644 --- a/cu29/prelude/macro.output_msg.html +++ b/cu29/prelude/macro.output_msg.html @@ -1,3 +1,3 @@ -output_msg in cu29::prelude - Rust
cu29::prelude

Macro output_msg

Source
macro_rules! output_msg {
+output_msg in cu29::prelude - Rust

Macro output_msg

Source
macro_rules! output_msg {
     ($lifetime:lifetime, $ty:ty) => { ... };
 }
\ No newline at end of file diff --git a/cu29/prelude/monitoring/enum.CuTaskState.html b/cu29/prelude/monitoring/enum.CuTaskState.html index 8062bcf10..ea3fb6d64 100644 --- a/cu29/prelude/monitoring/enum.CuTaskState.html +++ b/cu29/prelude/monitoring/enum.CuTaskState.html @@ -1,4 +1,4 @@ -CuTaskState in cu29::prelude::monitoring - Rust
cu29::prelude::monitoring

Enum CuTaskState

Source
pub enum CuTaskState {
+CuTaskState in cu29::prelude::monitoring - Rust

Enum CuTaskState

Source
pub enum CuTaskState {
     Start,
     Preprocess,
     Process,
diff --git a/cu29/prelude/monitoring/enum.Decision.html b/cu29/prelude/monitoring/enum.Decision.html
index df87cdfb0..10c61e35f 100644
--- a/cu29/prelude/monitoring/enum.Decision.html
+++ b/cu29/prelude/monitoring/enum.Decision.html
@@ -1,4 +1,4 @@
-Decision in cu29::prelude::monitoring - Rust
cu29::prelude::monitoring

Enum Decision

Source
pub enum Decision {
+Decision in cu29::prelude::monitoring - Rust

Enum Decision

Source
pub enum Decision {
     Abort,
     Ignore,
     Shutdown,
diff --git a/cu29/prelude/monitoring/index.html b/cu29/prelude/monitoring/index.html
index e32272c24..177b83bd3 100644
--- a/cu29/prelude/monitoring/index.html
+++ b/cu29/prelude/monitoring/index.html
@@ -1,4 +1,4 @@
-cu29::prelude::monitoring - Rust
cu29::prelude

Module monitoring

Source
Expand description

Some basic internal monitoring tooling Copper uses to monitor itself and the tasks it is running.

+cu29::prelude::monitoring - Rust

Module monitoring

Source
Expand description

Some basic internal monitoring tooling Copper uses to monitor itself and the tasks it is running.

Structs§

CountingAllocator
A simple allocator that counts the number of bytes allocated and deallocated.
CuDurationStatistics
A Specialized statistics object for CuDuration. It will also keep track of the jitter between the values.
LiveStatistics
Accumulative stat object that can give your some real time statistics.
NoMonitor
A do nothing monitor if no monitor is provided. This is basically defining the default behavior of Copper in case of error.
ScopedAllocCounter
A simple struct that counts the number of bytes allocated and deallocated in a scope.

Enums§

CuTaskState
The state of a task.
Decision
Monitor decision to be taken when a task errored out.

Statics§

GLOBAL

Traits§

CuMonitor
Trait to implement a monitoring task.
\ No newline at end of file diff --git a/cu29/prelude/monitoring/static.GLOBAL.html b/cu29/prelude/monitoring/static.GLOBAL.html index 0bc854f97..091def94a 100644 --- a/cu29/prelude/monitoring/static.GLOBAL.html +++ b/cu29/prelude/monitoring/static.GLOBAL.html @@ -1 +1 @@ -GLOBAL in cu29::prelude::monitoring - Rust
cu29::prelude::monitoring

Static GLOBAL

Source
pub static GLOBAL: CountingAllocator
\ No newline at end of file +GLOBAL in cu29::prelude::monitoring - Rust

Static GLOBAL

Source
pub static GLOBAL: CountingAllocator
\ No newline at end of file diff --git a/cu29/prelude/monitoring/struct.CountingAllocator.html b/cu29/prelude/monitoring/struct.CountingAllocator.html index abc43a2c3..d455aeed7 100644 --- a/cu29/prelude/monitoring/struct.CountingAllocator.html +++ b/cu29/prelude/monitoring/struct.CountingAllocator.html @@ -1,4 +1,4 @@ -CountingAllocator in cu29::prelude::monitoring - Rust
cu29::prelude::monitoring

Struct CountingAllocator

Source
pub struct CountingAllocator { /* private fields */ }
Expand description

A simple allocator that counts the number of bytes allocated and deallocated.

+CountingAllocator in cu29::prelude::monitoring - Rust

Struct CountingAllocator

Source
pub struct CountingAllocator { /* private fields */ }
Expand description

A simple allocator that counts the number of bytes allocated and deallocated.

Implementations§

Trait Implementations§

Source§

impl Default for CountingAllocator

Source§

fn default() -> CountingAllocator

Returns the “default value” for a type. Read more
Source§

impl GlobalAlloc for CountingAllocator

Source§

unsafe fn alloc(&self, layout: Layout) -> *mut u8

Allocates memory as described by the given layout. Read more
Source§

unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout)

Deallocates the block of memory at the given ptr pointer with the given layout. Read more
1.28.0 · Source§

unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8

Behaves like alloc, but also ensures that the contents are set to zero before being returned. Read more
1.28.0 · Source§

unsafe fn realloc( &self, diff --git a/cu29/prelude/monitoring/struct.CuDurationStatistics.html b/cu29/prelude/monitoring/struct.CuDurationStatistics.html index 666716d04..a4392936c 100644 --- a/cu29/prelude/monitoring/struct.CuDurationStatistics.html +++ b/cu29/prelude/monitoring/struct.CuDurationStatistics.html @@ -1,4 +1,4 @@ -CuDurationStatistics in cu29::prelude::monitoring - Rust
cu29::prelude::monitoring

Struct CuDurationStatistics

Source
pub struct CuDurationStatistics { /* private fields */ }
Expand description

A Specialized statistics object for CuDuration. +CuDurationStatistics in cu29::prelude::monitoring - Rust

Struct CuDurationStatistics

Source
pub struct CuDurationStatistics { /* private fields */ }
Expand description

A Specialized statistics object for CuDuration. It will also keep track of the jitter between the values.

Implementations§

Source§

impl CuDurationStatistics

Source

pub fn new(max: CuDuration) -> CuDurationStatistics

Source

pub fn min(&self) -> CuDuration

Source

pub fn max(&self) -> CuDuration

Source

pub fn mean(&self) -> CuDuration

Source

pub fn percentile(&self, percentile: f64) -> CuDuration

Source

pub fn stddev(&self) -> CuDuration

Source

pub fn len(&self) -> u64

Source

pub fn is_empty(&self) -> bool

Source

pub fn jitter_min(&self) -> CuDuration

Source

pub fn jitter_max(&self) -> CuDuration

Source

pub fn jitter_mean(&self) -> CuDuration

Source

pub fn jitter_stddev(&self) -> CuDuration

Source

pub fn jitter_percentile(&self, percentile: f64) -> CuDuration

Source

pub fn record(&mut self, value: CuDuration)

Source

pub fn reset(&mut self)

Trait Implementations§

Source§

impl Clone for CuDurationStatistics

Source§

fn clone(&self) -> CuDurationStatistics

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CuDurationStatistics

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where diff --git a/cu29/prelude/monitoring/struct.LiveStatistics.html b/cu29/prelude/monitoring/struct.LiveStatistics.html index feb70df67..f372ec7f7 100644 --- a/cu29/prelude/monitoring/struct.LiveStatistics.html +++ b/cu29/prelude/monitoring/struct.LiveStatistics.html @@ -1,4 +1,4 @@ -LiveStatistics in cu29::prelude::monitoring - Rust
cu29::prelude::monitoring

Struct LiveStatistics

Source
pub struct LiveStatistics { /* private fields */ }
Expand description

Accumulative stat object that can give your some real time statistics.

+LiveStatistics in cu29::prelude::monitoring - Rust

Struct LiveStatistics

Source
pub struct LiveStatistics { /* private fields */ }
Expand description

Accumulative stat object that can give your some real time statistics.

Implementations§

Source§

impl LiveStatistics

Source

pub fn new_unbounded() -> LiveStatistics

Source

pub fn new_with_max(max: u64) -> LiveStatistics

Source

pub fn min(&self) -> u64

Source

pub fn max(&self) -> u64

Source

pub fn mean(&self) -> f64

Source

pub fn percentile(&self, percentile: f64) -> u64

Source

pub fn record(&mut self, value: u64)

Adds a value to the statistics.

Source

pub fn len(&self) -> u64

Source

pub fn is_empty(&self) -> bool

Source

pub fn reset(&mut self)

Trait Implementations§

Source§

impl Clone for LiveStatistics

Source§

fn clone(&self) -> LiveStatistics

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LiveStatistics

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where diff --git a/cu29/prelude/monitoring/struct.NoMonitor.html b/cu29/prelude/monitoring/struct.NoMonitor.html index f97076ee4..e81285918 100644 --- a/cu29/prelude/monitoring/struct.NoMonitor.html +++ b/cu29/prelude/monitoring/struct.NoMonitor.html @@ -1,4 +1,4 @@ -NoMonitor in cu29::prelude::monitoring - Rust
cu29::prelude::monitoring

Struct NoMonitor

Source
pub struct NoMonitor {}
Expand description

A do nothing monitor if no monitor is provided. +NoMonitor in cu29::prelude::monitoring - Rust

Struct NoMonitor

Source
pub struct NoMonitor {}
Expand description

A do nothing monitor if no monitor is provided. This is basically defining the default behavior of Copper in case of error.

Trait Implementations§

Source§

impl CuMonitor for NoMonitor

Source§

fn new( _config: &CuConfig, diff --git a/cu29/prelude/monitoring/struct.ScopedAllocCounter.html b/cu29/prelude/monitoring/struct.ScopedAllocCounter.html index aa4458b0c..9bfcc6dfc 100644 --- a/cu29/prelude/monitoring/struct.ScopedAllocCounter.html +++ b/cu29/prelude/monitoring/struct.ScopedAllocCounter.html @@ -1,4 +1,4 @@ -ScopedAllocCounter in cu29::prelude::monitoring - Rust
cu29::prelude::monitoring

Struct ScopedAllocCounter

Source
pub struct ScopedAllocCounter { /* private fields */ }
Expand description

A simple struct that counts the number of bytes allocated and deallocated in a scope.

+ScopedAllocCounter in cu29::prelude::monitoring - Rust

Struct ScopedAllocCounter

Source
pub struct ScopedAllocCounter { /* private fields */ }
Expand description

A simple struct that counts the number of bytes allocated and deallocated in a scope.

Implementations§

Source§

impl ScopedAllocCounter

Source

pub fn new() -> ScopedAllocCounter

Source

pub fn get_allocated(&self) -> usize

Returns the total number of bytes allocated in the current scope since the creation of this ScopedAllocCounter.

§Example
diff --git a/cu29/prelude/monitoring/trait.CuMonitor.html b/cu29/prelude/monitoring/trait.CuMonitor.html index 0f2479a20..c57367a53 100644 --- a/cu29/prelude/monitoring/trait.CuMonitor.html +++ b/cu29/prelude/monitoring/trait.CuMonitor.html @@ -1,4 +1,4 @@ -CuMonitor in cu29::prelude::monitoring - Rust
cu29::prelude::monitoring

Trait CuMonitor

Source
pub trait CuMonitor: Sized {
+CuMonitor in cu29::prelude::monitoring - Rust

Trait CuMonitor

Source
pub trait CuMonitor: Sized {
     // Required methods
     fn new(
         config: &CuConfig,
diff --git a/cu29/prelude/payload/index.html b/cu29/prelude/payload/index.html
index ad3c277a2..9d89b83c9 100644
--- a/cu29/prelude/payload/index.html
+++ b/cu29/prelude/payload/index.html
@@ -1 +1 @@
-cu29::prelude::payload - Rust
cu29::prelude

Module payload

Source

Structs§

CuArray
Copper friendly wrapper for a fixed size array.
\ No newline at end of file +cu29::prelude::payload - Rust

Module payload

Source

Structs§

CuArray
Copper friendly wrapper for a fixed size array.
\ No newline at end of file diff --git a/cu29/prelude/payload/struct.CuArray.html b/cu29/prelude/payload/struct.CuArray.html index 293e03730..858401959 100644 --- a/cu29/prelude/payload/struct.CuArray.html +++ b/cu29/prelude/payload/struct.CuArray.html @@ -1,4 +1,4 @@ -CuArray in cu29::prelude::payload - Rust
cu29::prelude::payload

Struct CuArray

Source
pub struct CuArray<T, const N: usize> { /* private fields */ }
Expand description

Copper friendly wrapper for a fixed size array.

+CuArray in cu29::prelude::payload - Rust

Struct CuArray

Source
pub struct CuArray<T, const N: usize> { /* private fields */ }
Expand description

Copper friendly wrapper for a fixed size array.

Implementations§

Source§

impl<T, const N: usize> CuArray<T, N>

Source

pub fn new() -> CuArray<T, N>

Source

pub fn fill_from_iter<I>(&mut self, iter: I)
where I: IntoIterator<Item = T>,

Source

pub fn len(&self) -> usize

Source

pub fn is_empty(&self) -> bool

Source

pub fn as_slice(&self) -> &[T]

Source

pub fn capacity(&self) -> usize

Trait Implementations§

Source§

impl<T, const N: usize> Clone for CuArray<T, N>
where T: Clone,

Source§

fn clone(&self) -> CuArray<T, N>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T, const N: usize> Debug for CuArray<T, N>
where diff --git a/cu29/prelude/pool/enum.CuHandleInner.html b/cu29/prelude/pool/enum.CuHandleInner.html index 9886b123d..cd135e2db 100644 --- a/cu29/prelude/pool/enum.CuHandleInner.html +++ b/cu29/prelude/pool/enum.CuHandleInner.html @@ -1,4 +1,4 @@ -CuHandleInner in cu29::prelude::pool - Rust
cu29::prelude::pool

Enum CuHandleInner

Source
pub enum CuHandleInner<T>
where +CuHandleInner in cu29::prelude::pool - Rust

Enum CuHandleInner

Source
pub enum CuHandleInner<T>
where T: Debug,
{ Pooled(ReusableOwned<T>), Detached(T), diff --git a/cu29/prelude/pool/fn.pools_statistics.html b/cu29/prelude/pool/fn.pools_statistics.html index 7f97e281d..9043cf957 100644 --- a/cu29/prelude/pool/fn.pools_statistics.html +++ b/cu29/prelude/pool/fn.pools_statistics.html @@ -1,3 +1,3 @@ -pools_statistics in cu29::prelude::pool - Rust
cu29::prelude::pool

Function pools_statistics

Source
pub fn pools_statistics() -> SmallVec<[(ArrayString<64>, usize, usize, usize); 16]>
Expand description

Get the list of pools and their statistics. +pools_statistics in cu29::prelude::pool - Rust

Function pools_statistics

Source
pub fn pools_statistics() -> SmallVec<[(ArrayString<64>, usize, usize, usize); 16]>
Expand description

Get the list of pools and their statistics. We use SmallVec here to avoid heap allocations while the stack is running.

\ No newline at end of file diff --git a/cu29/prelude/pool/index.html b/cu29/prelude/pool/index.html index 67ff2a1b7..fa4d24a26 100644 --- a/cu29/prelude/pool/index.html +++ b/cu29/prelude/pool/index.html @@ -1,4 +1,4 @@ -cu29::prelude::pool - Rust
cu29::prelude

Module pool

Source

Structs§

AlignedBuffer
A buffer that is aligned to a specific size with the Element of type E.
CuHandle
A shareable handle to an Array coming from a pool (either host or device).
CuHostMemoryPool
A pool of host memory buffers.

Enums§

CuHandleInner
A Handle to a Buffer. +cu29::prelude::pool - Rust

Module pool

Source

Structs§

AlignedBuffer
A buffer that is aligned to a specific size with the Element of type E.
CuHandle
A shareable handle to an Array coming from a pool (either host or device).
CuHostMemoryPool
A pool of host memory buffers.

Enums§

CuHandleInner
A Handle to a Buffer. For onboard usages, the buffer should be Pooled (ie, coming from a preallocated pool). The Detached version is for offline usages where we don’t really need a pool to deserialize them.

Traits§

ArrayLike
CuPool
A CuPool is a pool of buffers that can be shared between different parts of the code. Handles can be stored locally in the tasks and shared between them.
DeviceCuPool
A device memory pool can copy data from a device to a host memory pool on top.
ElementType
Basic Type that can be used in a buffer in a CuPool.
PoolMonitor
Trait for a Pool to exposed to be monitored by the monitoring API.

Functions§

pools_statistics
Get the list of pools and their statistics. diff --git a/cu29/prelude/pool/struct.AlignedBuffer.html b/cu29/prelude/pool/struct.AlignedBuffer.html index 999e53936..fa21b8f4a 100644 --- a/cu29/prelude/pool/struct.AlignedBuffer.html +++ b/cu29/prelude/pool/struct.AlignedBuffer.html @@ -1,4 +1,4 @@ -AlignedBuffer in cu29::prelude::pool - Rust
cu29::prelude::pool

Struct AlignedBuffer

Source
pub struct AlignedBuffer<E>
where +AlignedBuffer in cu29::prelude::pool - Rust

Struct AlignedBuffer

Source
pub struct AlignedBuffer<E>
where E: ElementType,
{ /* private fields */ }
Expand description

A buffer that is aligned to a specific size with the Element of type E.

Implementations§

Source§

impl<E> AlignedBuffer<E>
where E: ElementType,

Source

pub fn new(num_elements: usize, alignment: usize) -> AlignedBuffer<E>

Methods from Deref<Target = [E]>§

Source

pub fn write_copy_of_slice(&mut self, src: &[T]) -> &mut [T]
where diff --git a/cu29/prelude/pool/struct.CuHandle.html b/cu29/prelude/pool/struct.CuHandle.html index abfd21c95..b469be1e6 100644 --- a/cu29/prelude/pool/struct.CuHandle.html +++ b/cu29/prelude/pool/struct.CuHandle.html @@ -1,4 +1,4 @@ -CuHandle in cu29::prelude::pool - Rust
cu29::prelude::pool

Struct CuHandle

Source
pub struct CuHandle<T>(/* private fields */)
+CuHandle in cu29::prelude::pool - Rust

Struct CuHandle

Source
pub struct CuHandle<T>(/* private fields */)
 where
     T: ArrayLike;
Expand description

A shareable handle to an Array coming from a pool (either host or device).

Implementations§

Source§

impl<T> CuHandle<T>
where diff --git a/cu29/prelude/pool/struct.CuHostMemoryPool.html b/cu29/prelude/pool/struct.CuHostMemoryPool.html index 8caa42359..c4edf6bfa 100644 --- a/cu29/prelude/pool/struct.CuHostMemoryPool.html +++ b/cu29/prelude/pool/struct.CuHostMemoryPool.html @@ -1,4 +1,4 @@ -CuHostMemoryPool in cu29::prelude::pool - Rust
cu29::prelude::pool

Struct CuHostMemoryPool

Source
pub struct CuHostMemoryPool<T> { /* private fields */ }
Expand description

A pool of host memory buffers.

+CuHostMemoryPool in cu29::prelude::pool - Rust

Struct CuHostMemoryPool

Source
pub struct CuHostMemoryPool<T> { /* private fields */ }
Expand description

A pool of host memory buffers.

Implementations§

Source§

impl<T> CuHostMemoryPool<T>
where T: ArrayLike + 'static,

Source

pub fn new<F>( id: &str, diff --git a/cu29/prelude/pool/trait.ArrayLike.html b/cu29/prelude/pool/trait.ArrayLike.html index 4680c28a5..156fe6eff 100644 --- a/cu29/prelude/pool/trait.ArrayLike.html +++ b/cu29/prelude/pool/trait.ArrayLike.html @@ -1,4 +1,4 @@ -ArrayLike in cu29::prelude::pool - Rust
cu29::prelude::pool

Trait ArrayLike

Source
pub trait ArrayLike:
+ArrayLike in cu29::prelude::pool - Rust

Trait ArrayLike

Source
pub trait ArrayLike:
     Deref<Target = [Self::Element]>
     + DerefMut
     + Debug
diff --git a/cu29/prelude/pool/trait.CuPool.html b/cu29/prelude/pool/trait.CuPool.html
index ab01c5a7a..63dcd08fa 100644
--- a/cu29/prelude/pool/trait.CuPool.html
+++ b/cu29/prelude/pool/trait.CuPool.html
@@ -1,4 +1,4 @@
-CuPool in cu29::prelude::pool - Rust
cu29::prelude::pool

Trait CuPool

Source
pub trait CuPool<T>: PoolMonitor
where +CuPool in cu29::prelude::pool - Rust

Trait CuPool

Source
pub trait CuPool<T>: PoolMonitor
where T: ArrayLike,
{ // Required methods fn acquire(&self) -> Option<CuHandle<T>>; diff --git a/cu29/prelude/pool/trait.DeviceCuPool.html b/cu29/prelude/pool/trait.DeviceCuPool.html index 882b2781f..9ad240433 100644 --- a/cu29/prelude/pool/trait.DeviceCuPool.html +++ b/cu29/prelude/pool/trait.DeviceCuPool.html @@ -1,4 +1,4 @@ -DeviceCuPool in cu29::prelude::pool - Rust
cu29::prelude::pool

Trait DeviceCuPool

Source
pub trait DeviceCuPool<T>: CuPool<T>
where +DeviceCuPool in cu29::prelude::pool - Rust

Trait DeviceCuPool

Source
pub trait DeviceCuPool<T>: CuPool<T>
where T: ArrayLike,
{ // Required method fn copy_to_host_pool<O>( diff --git a/cu29/prelude/pool/trait.ElementType.html b/cu29/prelude/pool/trait.ElementType.html index b056908ff..93b08f352 100644 --- a/cu29/prelude/pool/trait.ElementType.html +++ b/cu29/prelude/pool/trait.ElementType.html @@ -1,4 +1,4 @@ -ElementType in cu29::prelude::pool - Rust
cu29::prelude::pool

Trait ElementType

Source
pub trait ElementType:
+ElementType in cu29::prelude::pool - Rust

Trait ElementType

Source
pub trait ElementType:
     Sized
     + Default
     + Copy
diff --git a/cu29/prelude/pool/trait.PoolMonitor.html b/cu29/prelude/pool/trait.PoolMonitor.html
index 75ad98717..56f549ae3 100644
--- a/cu29/prelude/pool/trait.PoolMonitor.html
+++ b/cu29/prelude/pool/trait.PoolMonitor.html
@@ -1,4 +1,4 @@
-PoolMonitor in cu29::prelude::pool - Rust
cu29::prelude::pool

Trait PoolMonitor

Source
pub trait PoolMonitor: Send + Sync {
+PoolMonitor in cu29::prelude::pool - Rust

Trait PoolMonitor

Source
pub trait PoolMonitor: Send + Sync {
     // Required methods
     fn id(&self) -> ArrayString<64>;
     fn space_left(&self) -> usize;
diff --git a/cu29/prelude/simulation/enum.CuTaskCallbackState.html b/cu29/prelude/simulation/enum.CuTaskCallbackState.html
index 770fe5ac9..00093cd50 100644
--- a/cu29/prelude/simulation/enum.CuTaskCallbackState.html
+++ b/cu29/prelude/simulation/enum.CuTaskCallbackState.html
@@ -1,4 +1,4 @@
-CuTaskCallbackState in cu29::prelude::simulation - Rust
cu29::prelude::simulation

Enum CuTaskCallbackState

Source
pub enum CuTaskCallbackState<'cl, I, O>
where +CuTaskCallbackState in cu29::prelude::simulation - Rust

Enum CuTaskCallbackState

Source
pub enum CuTaskCallbackState<'cl, I, O>
where I: CuMsgPack<'cl>, O: CuMsgPack<'cl>,
{ New(Option<ComponentConfig>), diff --git a/cu29/prelude/simulation/enum.SimOverride.html b/cu29/prelude/simulation/enum.SimOverride.html index b573643bd..2071dbf45 100644 --- a/cu29/prelude/simulation/enum.SimOverride.html +++ b/cu29/prelude/simulation/enum.SimOverride.html @@ -1,4 +1,4 @@ -SimOverride in cu29::prelude::simulation - Rust
cu29::prelude::simulation

Enum SimOverride

Source
pub enum SimOverride {
+SimOverride in cu29::prelude::simulation - Rust

Enum SimOverride

Source
pub enum SimOverride {
     ExecutedBySim,
     ExecuteByRuntime,
     Errored(String),
diff --git a/cu29/prelude/simulation/index.html b/cu29/prelude/simulation/index.html
index 47b825195..607d2d9d1 100644
--- a/cu29/prelude/simulation/index.html
+++ b/cu29/prelude/simulation/index.html
@@ -1,4 +1,4 @@
-cu29::prelude::simulation - Rust
cu29::prelude

Module simulation

Source
Expand description

§cu29::simulation Module

+cu29::prelude::simulation - Rust

Module simulation

Source
Expand description

§cu29::simulation Module

The cu29::simulation module provides an interface to simulate tasks in Copper-based systems. It offers structures, traits, and enums that enable hooking into the lifecycle of tasks, adapting their behavior, and integrating them with simulated hardware environments.

diff --git a/cu29/prelude/simulation/struct.CuSimSinkTask.html b/cu29/prelude/simulation/struct.CuSimSinkTask.html index 698c6e3bc..d694e3537 100644 --- a/cu29/prelude/simulation/struct.CuSimSinkTask.html +++ b/cu29/prelude/simulation/struct.CuSimSinkTask.html @@ -1,4 +1,4 @@ -CuSimSinkTask in cu29::prelude::simulation - Rust
cu29::prelude::simulation

Struct CuSimSinkTask

Source
pub struct CuSimSinkTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a sink task for the simulations. +CuSimSinkTask in cu29::prelude::simulation - Rust

Struct CuSimSinkTask

Source
pub struct CuSimSinkTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a sink task for the simulations. It basically does nothing in place of a real driver so it won’t try to initialize any hardware.

Trait Implementations§

Source§

impl<'cl, T> CuSinkTask<'cl> for CuSimSinkTask<T>
where T: CuMsgPayload + 'cl,

Source§

type Input = &'cl CuMsg<T>

Source§

fn new(_config: Option<&ComponentConfig>) -> Result<CuSimSinkTask<T>, CuError>
where diff --git a/cu29/prelude/simulation/struct.CuSimSrcTask.html b/cu29/prelude/simulation/struct.CuSimSrcTask.html index a446c1caa..2e6f956be 100644 --- a/cu29/prelude/simulation/struct.CuSimSrcTask.html +++ b/cu29/prelude/simulation/struct.CuSimSrcTask.html @@ -1,4 +1,4 @@ -CuSimSrcTask in cu29::prelude::simulation - Rust
cu29::prelude::simulation

Struct CuSimSrcTask

Source
pub struct CuSimSrcTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a source task for the simulations. +CuSimSrcTask in cu29::prelude::simulation - Rust

Struct CuSimSrcTask

Source
pub struct CuSimSrcTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a source task for the simulations. It basically does nothing in place of a real driver so it won’t try to initialize any hardware.

Trait Implementations§

Source§

impl<'cl, T> CuSrcTask<'cl> for CuSimSrcTask<T>
where T: CuMsgPayload + 'cl,

Source§

type Output = &'cl mut CuMsg<T>

Source§

fn new(_config: Option<&ComponentConfig>) -> Result<CuSimSrcTask<T>, CuError>
where diff --git a/cu29/prelude/static.EXTRA_TEXT_LOGGER.html b/cu29/prelude/static.EXTRA_TEXT_LOGGER.html index 8086baf39..e899e47e0 100644 --- a/cu29/prelude/static.EXTRA_TEXT_LOGGER.html +++ b/cu29/prelude/static.EXTRA_TEXT_LOGGER.html @@ -1 +1 @@ -EXTRA_TEXT_LOGGER in cu29::prelude - Rust
cu29::prelude

Static EXTRA_TEXT_LOGGER

pub static EXTRA_TEXT_LOGGER: RwLock<Option<Box<dyn Log>>>
\ No newline at end of file +EXTRA_TEXT_LOGGER in cu29::prelude - Rust

Static EXTRA_TEXT_LOGGER

pub static EXTRA_TEXT_LOGGER: RwLock<Option<Box<dyn Log>>>
\ No newline at end of file diff --git a/cu29/prelude/static.GLOBAL.html b/cu29/prelude/static.GLOBAL.html index 6629ede65..208a1815c 100644 --- a/cu29/prelude/static.GLOBAL.html +++ b/cu29/prelude/static.GLOBAL.html @@ -1 +1 @@ -GLOBAL in cu29::prelude - Rust
cu29::prelude

Static GLOBAL

Source
pub static GLOBAL: CountingAllocator
\ No newline at end of file +GLOBAL in cu29::prelude - Rust

Static GLOBAL

Source
pub static GLOBAL: CountingAllocator
\ No newline at end of file diff --git a/cu29/prelude/struct.AlignedBuffer.html b/cu29/prelude/struct.AlignedBuffer.html index c7c051309..9e31ddc4a 100644 --- a/cu29/prelude/struct.AlignedBuffer.html +++ b/cu29/prelude/struct.AlignedBuffer.html @@ -1,4 +1,4 @@ -AlignedBuffer in cu29::prelude - Rust
cu29::prelude

Struct AlignedBuffer

Source
pub struct AlignedBuffer<E>
where +AlignedBuffer in cu29::prelude - Rust

Struct AlignedBuffer

Source
pub struct AlignedBuffer<E>
where E: ElementType,
{ /* private fields */ }
Expand description

A buffer that is aligned to a specific size with the Element of type E.

Implementations§

Source§

impl<E> AlignedBuffer<E>
where E: ElementType,

Source

pub fn new(num_elements: usize, alignment: usize) -> AlignedBuffer<E>

Methods from Deref<Target = [E]>§

Source

pub fn write_copy_of_slice(&mut self, src: &[T]) -> &mut [T]
where diff --git a/cu29/prelude/struct.Cnx.html b/cu29/prelude/struct.Cnx.html index e9b0bff86..43b7eec30 100644 --- a/cu29/prelude/struct.Cnx.html +++ b/cu29/prelude/struct.Cnx.html @@ -1,4 +1,4 @@ -Cnx in cu29::prelude - Rust
cu29::prelude

Struct Cnx

Source
pub struct Cnx {
+Cnx in cu29::prelude - Rust

Struct Cnx

Source
pub struct Cnx {
     pub msg: String,
     pub batch: Option<u32>,
     pub store: Option<bool>,
diff --git a/cu29/prelude/struct.ComponentConfig.html b/cu29/prelude/struct.ComponentConfig.html
index 23a9b8a3a..87b8fddb6 100644
--- a/cu29/prelude/struct.ComponentConfig.html
+++ b/cu29/prelude/struct.ComponentConfig.html
@@ -1,4 +1,4 @@
-ComponentConfig in cu29::prelude - Rust
cu29::prelude

Struct ComponentConfig

Source
pub struct ComponentConfig(pub HashMap<String, Value>);
Expand description

This is the configuration of a component (like a task config or a monitoring config):w +ComponentConfig in cu29::prelude - Rust

Struct ComponentConfig

Source
pub struct ComponentConfig(pub HashMap<String, Value>);
Expand description

This is the configuration of a component (like a task config or a monitoring config):w It is a map of key-value pairs. It is given to the new method of the task implementation.

Tuple Fields§

§0: HashMap<String, Value>

Implementations§

Source§

impl ComponentConfig

Source

pub fn new() -> ComponentConfig

Source

pub fn get<T>(&self, key: &str) -> Option<T>
where diff --git a/cu29/prelude/struct.CopperContext.html b/cu29/prelude/struct.CopperContext.html index 3ac84ea04..c55ee2a02 100644 --- a/cu29/prelude/struct.CopperContext.html +++ b/cu29/prelude/struct.CopperContext.html @@ -1,4 +1,4 @@ -CopperContext in cu29::prelude - Rust
cu29::prelude

Struct CopperContext

Source
pub struct CopperContext {
+CopperContext in cu29::prelude - Rust

Struct CopperContext

Source
pub struct CopperContext {
     pub unified_logger: Arc<Mutex<UnifiedLoggerWrite>>,
     pub logger_runtime: LoggerRuntime,
     pub clock: RobotClock,
diff --git a/cu29/prelude/struct.CopperLiskMask.html b/cu29/prelude/struct.CopperLiskMask.html
index 848eb99ea..e17f3a142 100644
--- a/cu29/prelude/struct.CopperLiskMask.html
+++ b/cu29/prelude/struct.CopperLiskMask.html
@@ -1,4 +1,4 @@
-CopperLiskMask in cu29::prelude - Rust
cu29::prelude

Struct CopperLiskMask

Source
pub struct CopperLiskMask { /* private fields */ }
Expand description

Not implemented yet. +CopperLiskMask in cu29::prelude - Rust

Struct CopperLiskMask

Source
pub struct CopperLiskMask { /* private fields */ }
Expand description

Not implemented yet. This mask will be used to for example filter out necessary regions of a copper list between remote systems.

Trait Implementations§

Source§

impl<'__de> BorrowDecode<'__de> for CopperLiskMask

Source§

fn borrow_decode<__D>(decoder: &mut __D) -> Result<CopperLiskMask, DecodeError>
where __D: BorrowDecoder<'__de>,

Attempt to decode this type with the given BorrowDecode.
Source§

impl Clone for CopperLiskMask

Source§

fn clone(&self) -> CopperLiskMask

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CopperLiskMask

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Decode for CopperLiskMask

Source§

fn decode<__D>(decoder: &mut __D) -> Result<CopperLiskMask, DecodeError>
where diff --git a/cu29/prelude/struct.CopperList.html b/cu29/prelude/struct.CopperList.html index 019df661f..94cf6dfc2 100644 --- a/cu29/prelude/struct.CopperList.html +++ b/cu29/prelude/struct.CopperList.html @@ -1,4 +1,4 @@ -CopperList in cu29::prelude - Rust
cu29::prelude

Struct CopperList

Source
pub struct CopperList<P>
where +CopperList in cu29::prelude - Rust

Struct CopperList

Source
pub struct CopperList<P>
where P: CopperListTuple,
{ pub id: u32, pub msgs: P, diff --git a/cu29/prelude/struct.CountingAllocator.html b/cu29/prelude/struct.CountingAllocator.html index fecd909cf..13b26cb9a 100644 --- a/cu29/prelude/struct.CountingAllocator.html +++ b/cu29/prelude/struct.CountingAllocator.html @@ -1,4 +1,4 @@ -CountingAllocator in cu29::prelude - Rust
cu29::prelude

Struct CountingAllocator

Source
pub struct CountingAllocator { /* private fields */ }
Expand description

A simple allocator that counts the number of bytes allocated and deallocated.

+CountingAllocator in cu29::prelude - Rust

Struct CountingAllocator

Source
pub struct CountingAllocator { /* private fields */ }
Expand description

A simple allocator that counts the number of bytes allocated and deallocated.

Implementations§

Trait Implementations§

Source§

impl Default for CountingAllocator

Source§

fn default() -> CountingAllocator

Returns the “default value” for a type. Read more
Source§

impl GlobalAlloc for CountingAllocator

Source§

unsafe fn alloc(&self, layout: Layout) -> *mut u8

Allocates memory as described by the given layout. Read more
Source§

unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout)

Deallocates the block of memory at the given ptr pointer with the given layout. Read more
1.28.0 · Source§

unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8

Behaves like alloc, but also ensures that the contents are set to zero before being returned. Read more
1.28.0 · Source§

unsafe fn realloc( &self, diff --git a/cu29/prelude/struct.CuArray.html b/cu29/prelude/struct.CuArray.html index a62d3a1e9..233872ae8 100644 --- a/cu29/prelude/struct.CuArray.html +++ b/cu29/prelude/struct.CuArray.html @@ -1,4 +1,4 @@ -CuArray in cu29::prelude - Rust
cu29::prelude

Struct CuArray

Source
pub struct CuArray<T, const N: usize> { /* private fields */ }
Expand description

Copper friendly wrapper for a fixed size array.

+CuArray in cu29::prelude - Rust

Struct CuArray

Source
pub struct CuArray<T, const N: usize> { /* private fields */ }
Expand description

Copper friendly wrapper for a fixed size array.

Implementations§

Source§

impl<T, const N: usize> CuArray<T, N>

Source

pub fn new() -> CuArray<T, N>

Source

pub fn fill_from_iter<I>(&mut self, iter: I)
where I: IntoIterator<Item = T>,

Source

pub fn len(&self) -> usize

Source

pub fn is_empty(&self) -> bool

Source

pub fn as_slice(&self) -> &[T]

Source

pub fn capacity(&self) -> usize

Trait Implementations§

Source§

impl<T, const N: usize> Clone for CuArray<T, N>
where T: Clone,

Source§

fn clone(&self) -> CuArray<T, N>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T, const N: usize> Debug for CuArray<T, N>
where diff --git a/cu29/prelude/struct.CuCompactString.html b/cu29/prelude/struct.CuCompactString.html index 34ed7ddce..40e7d71dd 100644 --- a/cu29/prelude/struct.CuCompactString.html +++ b/cu29/prelude/struct.CuCompactString.html @@ -1,4 +1,4 @@ -CuCompactString in cu29::prelude - Rust
cu29::prelude

Struct CuCompactString

Source
pub struct CuCompactString(pub CompactString);

Tuple Fields§

§0: CompactString

Trait Implementations§

Source§

impl<'de> BorrowDecode<'de> for CuCompactString

Source§

fn borrow_decode<D>(decoder: &mut D) -> Result<CuCompactString, DecodeError>
where +CuCompactString in cu29::prelude - Rust

Struct CuCompactString

Source
pub struct CuCompactString(pub CompactString);

Tuple Fields§

§0: CompactString

Trait Implementations§

Source§

impl<'de> BorrowDecode<'de> for CuCompactString

Source§

fn borrow_decode<D>(decoder: &mut D) -> Result<CuCompactString, DecodeError>
where D: BorrowDecoder<'de>,

Attempt to decode this type with the given BorrowDecode.
Source§

impl Clone for CuCompactString

Source§

fn clone(&self) -> CuCompactString

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CuCompactString

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Decode for CuCompactString

Source§

fn decode<D>(decoder: &mut D) -> Result<CuCompactString, DecodeError>
where D: Decoder,

Attempt to decode this type with the given Decode.
Source§

impl Default for CuCompactString

Source§

fn default() -> CuCompactString

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for CuCompactString

Source§

fn deserialize<__D>( __deserializer: __D, diff --git a/cu29/prelude/struct.CuConfig.html b/cu29/prelude/struct.CuConfig.html index 81feef501..60dd432cc 100644 --- a/cu29/prelude/struct.CuConfig.html +++ b/cu29/prelude/struct.CuConfig.html @@ -1,4 +1,4 @@ -CuConfig in cu29::prelude - Rust
cu29::prelude

Struct CuConfig

Source
pub struct CuConfig {
+CuConfig in cu29::prelude - Rust

Struct CuConfig

Source
pub struct CuConfig {
     pub graph: StableGraph<Node, Cnx>,
     pub monitor: Option<MonitorConfig>,
     pub logging: Option<LoggingConfig>,
diff --git a/cu29/prelude/struct.CuDuration.html b/cu29/prelude/struct.CuDuration.html
index 7e84b5f26..d2ba01ede 100644
--- a/cu29/prelude/struct.CuDuration.html
+++ b/cu29/prelude/struct.CuDuration.html
@@ -1,4 +1,4 @@
-CuDuration in cu29::prelude - Rust
cu29::prelude

Struct CuDuration

pub struct CuDuration(pub u64);
Expand description

For Robot times, the underlying type is a u64 representing nanoseconds. +CuDuration in cu29::prelude - Rust

Struct CuDuration

pub struct CuDuration(pub u64);
Expand description

For Robot times, the underlying type is a u64 representing nanoseconds. It is always positive to simplify the reasoning on the user side.

Tuple Fields§

§0: u64

Implementations§

§

impl CuDuration

pub const MIN: CuDuration

pub const MAX: CuDuration

pub fn max(&self, p0: CuDuration) -> CuDuration

pub fn min(&self, p0: CuDuration) -> CuDuration

pub fn as_nanos(&self) -> u64

Trait Implementations§

§

impl Add for CuDuration

§

type Output = CuDuration

The resulting type after applying the + operator.
§

fn add(self, rhs: CuDuration) -> <CuDuration as Add>::Output

Performs the + operation. Read more
§

impl AddAssign for CuDuration

§

fn add_assign(&mut self, rhs: CuDuration)

Performs the += operation. Read more
§

impl<'de> BorrowDecode<'de> for CuDuration

§

fn borrow_decode<D>(decoder: &mut D) -> Result<CuDuration, DecodeError>
where D: BorrowDecoder<'de>,

Attempt to decode this type with the given BorrowDecode.
§

impl Clone for CuDuration

§

fn clone(&self) -> CuDuration

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for CuDuration

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Decode for CuDuration

§

fn decode<D>(decoder: &mut D) -> Result<CuDuration, DecodeError>
where diff --git a/cu29/prelude/struct.CuDurationStatistics.html b/cu29/prelude/struct.CuDurationStatistics.html index 42b0a61ce..b07107566 100644 --- a/cu29/prelude/struct.CuDurationStatistics.html +++ b/cu29/prelude/struct.CuDurationStatistics.html @@ -1,4 +1,4 @@ -CuDurationStatistics in cu29::prelude - Rust
cu29::prelude

Struct CuDurationStatistics

Source
pub struct CuDurationStatistics { /* private fields */ }
Expand description

A Specialized statistics object for CuDuration. +CuDurationStatistics in cu29::prelude - Rust

Struct CuDurationStatistics

Source
pub struct CuDurationStatistics { /* private fields */ }
Expand description

A Specialized statistics object for CuDuration. It will also keep track of the jitter between the values.

Implementations§

Source§

impl CuDurationStatistics

Source

pub fn new(max: CuDuration) -> CuDurationStatistics

Source

pub fn min(&self) -> CuDuration

Source

pub fn max(&self) -> CuDuration

Source

pub fn mean(&self) -> CuDuration

Source

pub fn percentile(&self, percentile: f64) -> CuDuration

Source

pub fn stddev(&self) -> CuDuration

Source

pub fn len(&self) -> u64

Source

pub fn is_empty(&self) -> bool

Source

pub fn jitter_min(&self) -> CuDuration

Source

pub fn jitter_max(&self) -> CuDuration

Source

pub fn jitter_mean(&self) -> CuDuration

Source

pub fn jitter_stddev(&self) -> CuDuration

Source

pub fn jitter_percentile(&self, percentile: f64) -> CuDuration

Source

pub fn record(&mut self, value: CuDuration)

Source

pub fn reset(&mut self)

Trait Implementations§

Source§

impl Clone for CuDurationStatistics

Source§

fn clone(&self) -> CuDurationStatistics

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CuDurationStatistics

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where diff --git a/cu29/prelude/struct.CuError.html b/cu29/prelude/struct.CuError.html index ab8547546..8470133d0 100644 --- a/cu29/prelude/struct.CuError.html +++ b/cu29/prelude/struct.CuError.html @@ -1,4 +1,4 @@ -CuError in cu29::prelude - Rust
cu29::prelude

Struct CuError

pub struct CuError { /* private fields */ }
Expand description

Common copper Error type.

+CuError in cu29::prelude - Rust

Struct CuError

pub struct CuError { /* private fields */ }
Expand description

Common copper Error type.

Implementations§

§

impl CuError

pub fn new_with_cause(message: &str, cause: impl Error) -> CuError

pub fn add_cause(self, context: &str) -> CuError

Trait Implementations§

§

impl Clone for CuError

§

fn clone(&self) -> CuError

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for CuError

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'de> Deserialize<'de> for CuError

§

fn deserialize<__D>( __deserializer: __D, ) -> Result<CuError, <__D as Deserializer<'de>>::Error>
where diff --git a/cu29/prelude/struct.CuExecutionLoop.html b/cu29/prelude/struct.CuExecutionLoop.html index 0d587bf60..eeddf92cc 100644 --- a/cu29/prelude/struct.CuExecutionLoop.html +++ b/cu29/prelude/struct.CuExecutionLoop.html @@ -1,4 +1,4 @@ -CuExecutionLoop in cu29::prelude - Rust
cu29::prelude

Struct CuExecutionLoop

Source
pub struct CuExecutionLoop {
+CuExecutionLoop in cu29::prelude - Rust

Struct CuExecutionLoop

Source
pub struct CuExecutionLoop {
     pub steps: Vec<CuExecutionUnit>,
     pub loop_count: Option<u32>,
 }
Expand description

This structure represents a loop in the execution plan. diff --git a/cu29/prelude/struct.CuExecutionStep.html b/cu29/prelude/struct.CuExecutionStep.html index 723496588..8ff7355bd 100644 --- a/cu29/prelude/struct.CuExecutionStep.html +++ b/cu29/prelude/struct.CuExecutionStep.html @@ -1,4 +1,4 @@ -CuExecutionStep in cu29::prelude - Rust

cu29::prelude

Struct CuExecutionStep

Source
pub struct CuExecutionStep {
+CuExecutionStep in cu29::prelude - Rust

Struct CuExecutionStep

Source
pub struct CuExecutionStep {
     pub node_id: u32,
     pub node: Node,
     pub task_type: CuTaskType,
diff --git a/cu29/prelude/struct.CuHandle.html b/cu29/prelude/struct.CuHandle.html
index fe3b0fb54..7a9c9a0e6 100644
--- a/cu29/prelude/struct.CuHandle.html
+++ b/cu29/prelude/struct.CuHandle.html
@@ -1,4 +1,4 @@
-CuHandle in cu29::prelude - Rust
cu29::prelude

Struct CuHandle

Source
pub struct CuHandle<T>(/* private fields */)
+CuHandle in cu29::prelude - Rust

Struct CuHandle

Source
pub struct CuHandle<T>(/* private fields */)
 where
     T: ArrayLike;
Expand description

A shareable handle to an Array coming from a pool (either host or device).

Implementations§

Source§

impl<T> CuHandle<T>
where diff --git a/cu29/prelude/struct.CuHostMemoryPool.html b/cu29/prelude/struct.CuHostMemoryPool.html index d7769958a..751456ecd 100644 --- a/cu29/prelude/struct.CuHostMemoryPool.html +++ b/cu29/prelude/struct.CuHostMemoryPool.html @@ -1,4 +1,4 @@ -CuHostMemoryPool in cu29::prelude - Rust
cu29::prelude

Struct CuHostMemoryPool

Source
pub struct CuHostMemoryPool<T> { /* private fields */ }
Expand description

A pool of host memory buffers.

+CuHostMemoryPool in cu29::prelude - Rust

Struct CuHostMemoryPool

Source
pub struct CuHostMemoryPool<T> { /* private fields */ }
Expand description

A pool of host memory buffers.

Implementations§

Source§

impl<T> CuHostMemoryPool<T>
where T: ArrayLike + 'static,

Source

pub fn new<F>( id: &str, diff --git a/cu29/prelude/struct.CuListsManager.html b/cu29/prelude/struct.CuListsManager.html index e510bb32e..81c2d8166 100644 --- a/cu29/prelude/struct.CuListsManager.html +++ b/cu29/prelude/struct.CuListsManager.html @@ -1,4 +1,4 @@ -CuListsManager in cu29::prelude - Rust
cu29::prelude

Struct CuListsManager

Source
pub struct CuListsManager<P, const N: usize>
where +CuListsManager in cu29::prelude - Rust

Struct CuListsManager

Source
pub struct CuListsManager<P, const N: usize>
where P: CopperListTuple,
{ /* private fields */ }
Expand description

This structure maintains the entire memory needed by Copper for one loop for the inter tasks communication within a process. P or Payload is typically a Tuple of various types of messages that are exchanged between tasks. N is the maximum number of in flight Copper List the runtime can support.

diff --git a/cu29/prelude/struct.CuLogEntry.html b/cu29/prelude/struct.CuLogEntry.html index fecd473a1..4d9c0fa05 100644 --- a/cu29/prelude/struct.CuLogEntry.html +++ b/cu29/prelude/struct.CuLogEntry.html @@ -1,4 +1,4 @@ -CuLogEntry in cu29::prelude - Rust
cu29::prelude

Struct CuLogEntry

pub struct CuLogEntry {
+CuLogEntry in cu29::prelude - Rust

Struct CuLogEntry

pub struct CuLogEntry {
     pub time: CuDuration,
     pub msg_index: u32,
     pub paramname_indexes: SmallVec<[u32; 10]>,
diff --git a/cu29/prelude/struct.CuMsg.html b/cu29/prelude/struct.CuMsg.html
index 30fea0470..1b4eb431a 100644
--- a/cu29/prelude/struct.CuMsg.html
+++ b/cu29/prelude/struct.CuMsg.html
@@ -1,4 +1,4 @@
-CuMsg in cu29::prelude - Rust
cu29::prelude

Struct CuMsg

Source
pub struct CuMsg<T>
where +CuMsg in cu29::prelude - Rust

Struct CuMsg

Source
pub struct CuMsg<T>
where T: CuMsgPayload,
{ pub metadata: CuMsgMetadata, /* private fields */ diff --git a/cu29/prelude/struct.CuMsgMetadata.html b/cu29/prelude/struct.CuMsgMetadata.html index d323be587..bd5c5d291 100644 --- a/cu29/prelude/struct.CuMsgMetadata.html +++ b/cu29/prelude/struct.CuMsgMetadata.html @@ -1,4 +1,4 @@ -CuMsgMetadata in cu29::prelude - Rust
cu29::prelude

Struct CuMsgMetadata

Source
pub struct CuMsgMetadata {
+CuMsgMetadata in cu29::prelude - Rust

Struct CuMsgMetadata

Source
pub struct CuMsgMetadata {
     pub process_time: PartialCuTimeRange,
     pub tov: Tov,
     pub status_txt: CuCompactString,
diff --git a/cu29/prelude/struct.CuRuntime.html b/cu29/prelude/struct.CuRuntime.html
index 19784ca2c..e16a07bb6 100644
--- a/cu29/prelude/struct.CuRuntime.html
+++ b/cu29/prelude/struct.CuRuntime.html
@@ -1,4 +1,4 @@
-CuRuntime in cu29::prelude - Rust
cu29::prelude

Struct CuRuntime

Source
pub struct CuRuntime<CT, P, M, const NBCL: usize>
where +CuRuntime in cu29::prelude - Rust

Struct CuRuntime

Source
pub struct CuRuntime<CT, P, M, const NBCL: usize>{
     pub tasks: CT,
diff --git a/cu29/prelude/struct.CuSimSinkTask.html b/cu29/prelude/struct.CuSimSinkTask.html
index cd51067db..0239105df 100644
--- a/cu29/prelude/struct.CuSimSinkTask.html
+++ b/cu29/prelude/struct.CuSimSinkTask.html
@@ -1,4 +1,4 @@
-CuSimSinkTask in cu29::prelude - Rust
cu29::prelude

Struct CuSimSinkTask

Source
pub struct CuSimSinkTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a sink task for the simulations. +CuSimSinkTask in cu29::prelude - Rust

Struct CuSimSinkTask

Source
pub struct CuSimSinkTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a sink task for the simulations. It basically does nothing in place of a real driver so it won’t try to initialize any hardware.

Trait Implementations§

Source§

impl<'cl, T> CuSinkTask<'cl> for CuSimSinkTask<T>
where T: CuMsgPayload + 'cl,

Source§

type Input = &'cl CuMsg<T>

Source§

fn new(_config: Option<&ComponentConfig>) -> Result<CuSimSinkTask<T>, CuError>
where diff --git a/cu29/prelude/struct.CuSimSrcTask.html b/cu29/prelude/struct.CuSimSrcTask.html index 1360b615f..dff3c3131 100644 --- a/cu29/prelude/struct.CuSimSrcTask.html +++ b/cu29/prelude/struct.CuSimSrcTask.html @@ -1,4 +1,4 @@ -CuSimSrcTask in cu29::prelude - Rust
cu29::prelude

Struct CuSimSrcTask

Source
pub struct CuSimSrcTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a source task for the simulations. +CuSimSrcTask in cu29::prelude - Rust

Struct CuSimSrcTask

Source
pub struct CuSimSrcTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a source task for the simulations. It basically does nothing in place of a real driver so it won’t try to initialize any hardware.

Trait Implementations§

Source§

impl<'cl, T> CuSrcTask<'cl> for CuSimSrcTask<T>
where T: CuMsgPayload + 'cl,

Source§

type Output = &'cl mut CuMsg<T>

Source§

fn new(_config: Option<&ComponentConfig>) -> Result<CuSimSrcTask<T>, CuError>
where diff --git a/cu29/prelude/struct.CuTimeRange.html b/cu29/prelude/struct.CuTimeRange.html index d9bcf719b..2bdb5966f 100644 --- a/cu29/prelude/struct.CuTimeRange.html +++ b/cu29/prelude/struct.CuTimeRange.html @@ -1,4 +1,4 @@ -CuTimeRange in cu29::prelude - Rust
cu29::prelude

Struct CuTimeRange

pub struct CuTimeRange {
+CuTimeRange in cu29::prelude - Rust

Struct CuTimeRange

pub struct CuTimeRange {
     pub start: CuDuration,
     pub end: CuDuration,
 }
Expand description

Represents a time range.

diff --git a/cu29/prelude/struct.Instant.html b/cu29/prelude/struct.Instant.html index 338cd7a02..9069f11c8 100644 --- a/cu29/prelude/struct.Instant.html +++ b/cu29/prelude/struct.Instant.html @@ -1,4 +1,4 @@ -Instant in cu29::prelude - Rust
cu29::prelude

Struct Instant

pub struct Instant(/* private fields */);
Expand description

A point-in-time wall-clock measurement.

+Instant in cu29::prelude - Rust

Struct Instant

pub struct Instant(/* private fields */);
Expand description

A point-in-time wall-clock measurement.

Mimics most of the functionality of std::time::Instant but provides an additional method for using the “recent time” feature of quanta.

§Monotonicity

diff --git a/cu29/prelude/struct.LiveStatistics.html b/cu29/prelude/struct.LiveStatistics.html index fb367ca91..e43f9cd69 100644 --- a/cu29/prelude/struct.LiveStatistics.html +++ b/cu29/prelude/struct.LiveStatistics.html @@ -1,4 +1,4 @@ -LiveStatistics in cu29::prelude - Rust
cu29::prelude

Struct LiveStatistics

Source
pub struct LiveStatistics { /* private fields */ }
Expand description

Accumulative stat object that can give your some real time statistics.

+LiveStatistics in cu29::prelude - Rust

Struct LiveStatistics

Source
pub struct LiveStatistics { /* private fields */ }
Expand description

Accumulative stat object that can give your some real time statistics.

Implementations§

Source§

impl LiveStatistics

Source

pub fn new_unbounded() -> LiveStatistics

Source

pub fn new_with_max(max: u64) -> LiveStatistics

Source

pub fn min(&self) -> u64

Source

pub fn max(&self) -> u64

Source

pub fn mean(&self) -> f64

Source

pub fn percentile(&self, percentile: f64) -> u64

Source

pub fn record(&mut self, value: u64)

Adds a value to the statistics.

Source

pub fn len(&self) -> u64

Source

pub fn is_empty(&self) -> bool

Source

pub fn reset(&mut self)

Trait Implementations§

Source§

impl Clone for LiveStatistics

Source§

fn clone(&self) -> LiveStatistics

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LiveStatistics

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where diff --git a/cu29/prelude/struct.LoggerRuntime.html b/cu29/prelude/struct.LoggerRuntime.html index 1a659e7ce..6a3c4d812 100644 --- a/cu29/prelude/struct.LoggerRuntime.html +++ b/cu29/prelude/struct.LoggerRuntime.html @@ -1,4 +1,4 @@ -LoggerRuntime in cu29::prelude - Rust
cu29::prelude

Struct LoggerRuntime

pub struct LoggerRuntime {}
Expand description

The lifetime of this struct is the lifetime of the logger.

+LoggerRuntime in cu29::prelude - Rust

Struct LoggerRuntime

pub struct LoggerRuntime {}
Expand description

The lifetime of this struct is the lifetime of the logger.

Implementations§

§

impl LoggerRuntime

pub fn init( clock: RobotClock, destination: impl WriteStream<CuLogEntry> + 'static, diff --git a/cu29/prelude/struct.LoggingConfig.html b/cu29/prelude/struct.LoggingConfig.html index 1c8059acf..302c34807 100644 --- a/cu29/prelude/struct.LoggingConfig.html +++ b/cu29/prelude/struct.LoggingConfig.html @@ -1,4 +1,4 @@ -LoggingConfig in cu29::prelude - Rust
cu29::prelude

Struct LoggingConfig

Source
pub struct LoggingConfig {
+LoggingConfig in cu29::prelude - Rust

Struct LoggingConfig

Source
pub struct LoggingConfig {
     pub slab_size_mib: Option<u64>,
     pub section_size_mib: Option<u64>,
     pub enable_task_logging: bool,
diff --git a/cu29/prelude/struct.MonitorConfig.html b/cu29/prelude/struct.MonitorConfig.html
index 1b11e31b2..d20f6fd34 100644
--- a/cu29/prelude/struct.MonitorConfig.html
+++ b/cu29/prelude/struct.MonitorConfig.html
@@ -1,4 +1,4 @@
-MonitorConfig in cu29::prelude - Rust
cu29::prelude

Struct MonitorConfig

Source
pub struct MonitorConfig { /* private fields */ }

Implementations§

Trait Implementations§

Source§

impl Clone for MonitorConfig

Source§

fn clone(&self) -> MonitorConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MonitorConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for MonitorConfig

Source§

fn default() -> MonitorConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for MonitorConfig

Source§

fn deserialize<__D>( +MonitorConfig in cu29::prelude - Rust

Struct MonitorConfig

Source
pub struct MonitorConfig { /* private fields */ }

Implementations§

Trait Implementations§

Source§

impl Clone for MonitorConfig

Source§

fn clone(&self) -> MonitorConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MonitorConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for MonitorConfig

Source§

fn default() -> MonitorConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for MonitorConfig

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<MonitorConfig, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for MonitorConfig

Source§

fn serialize<__S>( diff --git a/cu29/prelude/struct.NoMonitor.html b/cu29/prelude/struct.NoMonitor.html index 53608abdc..581779cf6 100644 --- a/cu29/prelude/struct.NoMonitor.html +++ b/cu29/prelude/struct.NoMonitor.html @@ -1,4 +1,4 @@ -NoMonitor in cu29::prelude - Rust
cu29::prelude

Struct NoMonitor

Source
pub struct NoMonitor {}
Expand description

A do nothing monitor if no monitor is provided. +NoMonitor in cu29::prelude - Rust

Struct NoMonitor

Source
pub struct NoMonitor {}
Expand description

A do nothing monitor if no monitor is provided. This is basically defining the default behavior of Copper in case of error.

Trait Implementations§

Source§

impl CuMonitor for NoMonitor

Source§

fn new( _config: &CuConfig, diff --git a/cu29/prelude/struct.Node.html b/cu29/prelude/struct.Node.html index 16337bb63..d0cfbdae2 100644 --- a/cu29/prelude/struct.Node.html +++ b/cu29/prelude/struct.Node.html @@ -1,4 +1,4 @@ -Node in cu29::prelude - Rust
cu29::prelude

Struct Node

Source
pub struct Node { /* private fields */ }
Expand description

A node in the configuration graph. +Node in cu29::prelude - Rust

Struct Node

Source
pub struct Node { /* private fields */ }
Expand description

A node in the configuration graph. A node represents a Task in the system Graph.

Implementations§

Source§

impl Node

Source

pub fn new(id: &str, ptype: &str) -> Node

Source

pub fn get_id(&self) -> String

Source

pub fn set_type(self, name: Option<String>) -> Node

Source

pub fn get_type(&self) -> &str

Source

pub fn get_instance_config(&self) -> Option<&ComponentConfig>

Source

pub fn get_param<T>(&self, key: &str) -> Option<T>
where T: From<Value>,

Source

pub fn set_param<T>(&mut self, key: &str, value: T)
where diff --git a/cu29/prelude/struct.NullLog.html b/cu29/prelude/struct.NullLog.html index 56edd0410..48f9a038f 100644 --- a/cu29/prelude/struct.NullLog.html +++ b/cu29/prelude/struct.NullLog.html @@ -1,4 +1,4 @@ -NullLog in cu29::prelude - Rust
cu29::prelude

Struct NullLog

pub struct NullLog;

Trait Implementations§

§

impl Log for NullLog

§

fn enabled(&self, _metadata: &Metadata<'_>) -> bool

Determines if a log message with the specified metadata would be +NullLog in cu29::prelude - Rust

Struct NullLog

pub struct NullLog;

Trait Implementations§

§

impl Log for NullLog

§

fn enabled(&self, _metadata: &Metadata<'_>) -> bool

Determines if a log message with the specified metadata would be logged. Read more
§

fn log(&self, _record: &Record<'_>)

Logs the Record. Read more
§

fn flush(&self)

Flushes any buffered records. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where diff --git a/cu29/prelude/struct.OptionCuTime.html b/cu29/prelude/struct.OptionCuTime.html index 33ef759b8..cabf35dc6 100644 --- a/cu29/prelude/struct.OptionCuTime.html +++ b/cu29/prelude/struct.OptionCuTime.html @@ -1,4 +1,4 @@ -OptionCuTime in cu29::prelude - Rust
cu29::prelude

Struct OptionCuTime

pub struct OptionCuTime(/* private fields */);
Expand description

Homebrewed Option<CuDuration> to avoid using 128bits just to represent an Option.

+OptionCuTime in cu29::prelude - Rust

Struct OptionCuTime

pub struct OptionCuTime(/* private fields */);
Expand description

Homebrewed Option<CuDuration> to avoid using 128bits just to represent an Option.

Implementations§

§

impl OptionCuTime

pub fn is_none(&self) -> bool

pub fn none() -> OptionCuTime

pub fn unwrap(self) -> CuDuration

Trait Implementations§

§

impl<'__de> BorrowDecode<'__de> for OptionCuTime

§

fn borrow_decode<__D>(decoder: &mut __D) -> Result<OptionCuTime, DecodeError>
where __D: BorrowDecoder<'__de>,

Attempt to decode this type with the given BorrowDecode.
§

impl Clone for OptionCuTime

§

fn clone(&self) -> OptionCuTime

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for OptionCuTime

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Decode for OptionCuTime

§

fn decode<__D>(decoder: &mut __D) -> Result<OptionCuTime, DecodeError>
where __D: Decoder,

Attempt to decode this type with the given Decode.
§

impl Default for OptionCuTime

§

fn default() -> OptionCuTime

Returns the “default value” for a type. Read more
§

impl<'de> Deserialize<'de> for OptionCuTime

§

fn deserialize<__D>( diff --git a/cu29/prelude/struct.OwningIoWriter.html b/cu29/prelude/struct.OwningIoWriter.html index 107f3ef51..a30a112ce 100644 --- a/cu29/prelude/struct.OwningIoWriter.html +++ b/cu29/prelude/struct.OwningIoWriter.html @@ -1,4 +1,4 @@ -OwningIoWriter in cu29::prelude - Rust
cu29::prelude

Struct OwningIoWriter

pub struct OwningIoWriter<W>
where +OwningIoWriter in cu29::prelude - Rust

Struct OwningIoWriter

pub struct OwningIoWriter<W>
where W: Write,
{ /* private fields */ }

Implementations§

§

impl<W> OwningIoWriter<W>
where W: Write,

pub fn new(writer: W) -> OwningIoWriter<W>

pub fn bytes_written(&self) -> usize

pub fn flush(&mut self) -> Result<(), EncodeError>

Trait Implementations§

§

impl<W> Writer for OwningIoWriter<W>
where W: Write,

§

fn write(&mut self, bytes: &[u8]) -> Result<(), EncodeError>

Write bytes to the underlying writer. Exactly bytes.len() bytes must be written, or else an error should be returned.

Auto Trait Implementations§

§

impl<W> Freeze for OwningIoWriter<W>
where diff --git a/cu29/prelude/struct.PartialCuTimeRange.html b/cu29/prelude/struct.PartialCuTimeRange.html index 08d50857a..a972e6f14 100644 --- a/cu29/prelude/struct.PartialCuTimeRange.html +++ b/cu29/prelude/struct.PartialCuTimeRange.html @@ -1,4 +1,4 @@ -PartialCuTimeRange in cu29::prelude - Rust
cu29::prelude

Struct PartialCuTimeRange

pub struct PartialCuTimeRange {
+PartialCuTimeRange in cu29::prelude - Rust

Struct PartialCuTimeRange

pub struct PartialCuTimeRange {
     pub start: OptionCuTime,
     pub end: OptionCuTime,
 }
Expand description

Represents a time range with possible undefined start or end or both.

diff --git a/cu29/prelude/struct.RobotClock.html b/cu29/prelude/struct.RobotClock.html index 8b098408f..b7d6c5a92 100644 --- a/cu29/prelude/struct.RobotClock.html +++ b/cu29/prelude/struct.RobotClock.html @@ -1,4 +1,4 @@ -RobotClock in cu29::prelude - Rust
cu29::prelude

Struct RobotClock

pub struct RobotClock { /* private fields */ }
Expand description

A running Robot clock. +RobotClock in cu29::prelude - Rust

Struct RobotClock

pub struct RobotClock { /* private fields */ }
Expand description

A running Robot clock. The clock is a monotonic clock that starts at an arbitrary reference time. It is clone resilient, ie a clone will be the same clock, even when mocked.

Implementations§

§

impl RobotClock

pub fn new() -> RobotClock

Creates a RobotClock using now as its reference time. diff --git a/cu29/prelude/struct.RobotClockMock.html b/cu29/prelude/struct.RobotClockMock.html index db5b7033a..197c29bbe 100644 --- a/cu29/prelude/struct.RobotClockMock.html +++ b/cu29/prelude/struct.RobotClockMock.html @@ -1,4 +1,4 @@ -RobotClockMock in cu29::prelude - Rust

cu29::prelude

Struct RobotClockMock

pub struct RobotClockMock(/* private fields */);
Expand description

A mock clock that can be controlled by the user.

+RobotClockMock in cu29::prelude - Rust

Struct RobotClockMock

pub struct RobotClockMock(/* private fields */);
Expand description

A mock clock that can be controlled by the user.

Implementations§

§

impl RobotClockMock

pub fn increment(&self, amount: Duration)

pub fn decrement(&self, amount: Duration)

Decrements the time by the given amount. Be careful this brakes the monotonicity of the clock.

pub fn value(&self) -> u64

Gets the current value of time.

diff --git a/cu29/prelude/struct.ScopedAllocCounter.html b/cu29/prelude/struct.ScopedAllocCounter.html index c739f704e..c506891f6 100644 --- a/cu29/prelude/struct.ScopedAllocCounter.html +++ b/cu29/prelude/struct.ScopedAllocCounter.html @@ -1,4 +1,4 @@ -ScopedAllocCounter in cu29::prelude - Rust
cu29::prelude

Struct ScopedAllocCounter

Source
pub struct ScopedAllocCounter { /* private fields */ }
Expand description

A simple struct that counts the number of bytes allocated and deallocated in a scope.

+ScopedAllocCounter in cu29::prelude - Rust

Struct ScopedAllocCounter

Source
pub struct ScopedAllocCounter { /* private fields */ }
Expand description

A simple struct that counts the number of bytes allocated and deallocated in a scope.

Implementations§

Source§

impl ScopedAllocCounter

Source

pub fn new() -> ScopedAllocCounter

Source

pub fn get_allocated(&self) -> usize

Returns the total number of bytes allocated in the current scope since the creation of this ScopedAllocCounter.

§Example
diff --git a/cu29/prelude/struct.SectionHandle.html b/cu29/prelude/struct.SectionHandle.html index 6e2701481..ced472f0a 100644 --- a/cu29/prelude/struct.SectionHandle.html +++ b/cu29/prelude/struct.SectionHandle.html @@ -1,4 +1,4 @@ -SectionHandle in cu29::prelude - Rust
cu29::prelude

Struct SectionHandle

Source
pub struct SectionHandle { /* private fields */ }
Expand description

A SectionHandle is a handle to a section in the datalogger. +SectionHandle in cu29::prelude - Rust

Struct SectionHandle

Source
pub struct SectionHandle { /* private fields */ }
Expand description

A SectionHandle is a handle to a section in the datalogger. It allows to track the lifecycle of a section of the datalogger.

Implementations§

Source§

impl SectionHandle

Source

pub fn create( section_header: SectionHeader, diff --git a/cu29/prelude/struct.SectionHeader.html b/cu29/prelude/struct.SectionHeader.html index 9799a92e1..c65861baa 100644 --- a/cu29/prelude/struct.SectionHeader.html +++ b/cu29/prelude/struct.SectionHeader.html @@ -1,4 +1,4 @@ -SectionHeader in cu29::prelude - Rust
cu29::prelude

Struct SectionHeader

Source
pub struct SectionHeader { /* private fields */ }
Expand description

Each concurrent sublogger is tracked through a section header. +SectionHeader in cu29::prelude - Rust

Struct SectionHeader

Source
pub struct SectionHeader { /* private fields */ }
Expand description

Each concurrent sublogger is tracked through a section header. They form a linked list of sections. The entry type is used to identify the type of data in the section.

Trait Implementations§

Source§

impl<'__de> BorrowDecode<'__de> for SectionHeader

Source§

fn borrow_decode<__D>(decoder: &mut __D) -> Result<SectionHeader, DecodeError>
where diff --git a/cu29/prelude/struct.SimpleFileWriter.html b/cu29/prelude/struct.SimpleFileWriter.html index 7528e6cf7..7501c2cd2 100644 --- a/cu29/prelude/struct.SimpleFileWriter.html +++ b/cu29/prelude/struct.SimpleFileWriter.html @@ -1,4 +1,4 @@ -SimpleFileWriter in cu29::prelude - Rust
cu29::prelude

Struct SimpleFileWriter

pub struct SimpleFileWriter { /* private fields */ }
Expand description

This allows this crate to be used outside of Copper (ie. decoupling it from the unifiedlog.

+SimpleFileWriter in cu29::prelude - Rust

Struct SimpleFileWriter

pub struct SimpleFileWriter { /* private fields */ }
Expand description

This allows this crate to be used outside of Copper (ie. decoupling it from the unifiedlog.

Implementations§

Trait Implementations§

§

impl Debug for SimpleFileWriter

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl WriteStream<CuLogEntry> for SimpleFileWriter

§

fn log(&mut self, obj: &CuLogEntry) -> Result<(), CuError>

§

fn flush(&mut self) -> Result<(), CuError>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where diff --git a/cu29/prelude/struct.UnifiedLoggerBuilder.html b/cu29/prelude/struct.UnifiedLoggerBuilder.html index 895578e26..0001cf06e 100644 --- a/cu29/prelude/struct.UnifiedLoggerBuilder.html +++ b/cu29/prelude/struct.UnifiedLoggerBuilder.html @@ -1,4 +1,4 @@ -UnifiedLoggerBuilder in cu29::prelude - Rust
cu29::prelude

Struct UnifiedLoggerBuilder

Source
pub struct UnifiedLoggerBuilder { /* private fields */ }
Expand description

Use this builder to create a new DataLogger.

+UnifiedLoggerBuilder in cu29::prelude - Rust

Struct UnifiedLoggerBuilder

Source
pub struct UnifiedLoggerBuilder { /* private fields */ }
Expand description

Use this builder to create a new DataLogger.

Implementations§

Source§

impl UnifiedLoggerBuilder

Source

pub fn new() -> UnifiedLoggerBuilder

Source

pub fn file_base_name(self, file_path: &Path) -> UnifiedLoggerBuilder

If “something/toto.copper” is given, it will find or create “something/toto_0.copper”, “something/toto_1.copper” etc.

Source

pub fn preallocated_size(self, preallocated_size: usize) -> UnifiedLoggerBuilder

Source

pub fn write(self, write: bool) -> UnifiedLoggerBuilder

Source

pub fn create(self, create: bool) -> UnifiedLoggerBuilder

Source

pub fn build(self) -> Result<UnifiedLogger, Error>

Trait Implementations§

Source§

impl Default for UnifiedLoggerBuilder

Source§

fn default() -> UnifiedLoggerBuilder

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where diff --git a/cu29/prelude/struct.UnifiedLoggerIOReader.html b/cu29/prelude/struct.UnifiedLoggerIOReader.html index 12c2f1251..3b4f895d6 100644 --- a/cu29/prelude/struct.UnifiedLoggerIOReader.html +++ b/cu29/prelude/struct.UnifiedLoggerIOReader.html @@ -1,4 +1,4 @@ -UnifiedLoggerIOReader in cu29::prelude - Rust
cu29::prelude

Struct UnifiedLoggerIOReader

Source
pub struct UnifiedLoggerIOReader { /* private fields */ }
Expand description

This a convenience wrapper around the UnifiedLoggerRead to implement the Read trait.

+UnifiedLoggerIOReader in cu29::prelude - Rust

Struct UnifiedLoggerIOReader

Source
pub struct UnifiedLoggerIOReader { /* private fields */ }
Expand description

This a convenience wrapper around the UnifiedLoggerRead to implement the Read trait.

Implementations§

Source§

impl UnifiedLoggerIOReader

Source

pub fn new( logger: UnifiedLoggerRead, log_type: UnifiedLogType, diff --git a/cu29/prelude/struct.UnifiedLoggerRead.html b/cu29/prelude/struct.UnifiedLoggerRead.html index 52d4c3531..a70880b7c 100644 --- a/cu29/prelude/struct.UnifiedLoggerRead.html +++ b/cu29/prelude/struct.UnifiedLoggerRead.html @@ -1,4 +1,4 @@ -UnifiedLoggerRead in cu29::prelude - Rust
cu29::prelude

Struct UnifiedLoggerRead

Source
pub struct UnifiedLoggerRead { /* private fields */ }
Expand description

A read side of the datalogger.

+UnifiedLoggerRead in cu29::prelude - Rust

Struct UnifiedLoggerRead

Source
pub struct UnifiedLoggerRead { /* private fields */ }
Expand description

A read side of the datalogger.

Implementations§

Source§

impl UnifiedLoggerRead

Source

pub fn new(base_file_path: &Path) -> Result<UnifiedLoggerRead, Error>

Source

pub fn read_next_section_type( &mut self, datalogtype: UnifiedLogType, diff --git a/cu29/prelude/struct.UnifiedLoggerWrite.html b/cu29/prelude/struct.UnifiedLoggerWrite.html index f031d93ab..b389e193c 100644 --- a/cu29/prelude/struct.UnifiedLoggerWrite.html +++ b/cu29/prelude/struct.UnifiedLoggerWrite.html @@ -1,4 +1,4 @@ -UnifiedLoggerWrite in cu29::prelude - Rust
cu29::prelude

Struct UnifiedLoggerWrite

Source
pub struct UnifiedLoggerWrite { /* private fields */ }
Expand description

A write side of the datalogger.

+UnifiedLoggerWrite in cu29::prelude - Rust

Struct UnifiedLoggerWrite

Source
pub struct UnifiedLoggerWrite { /* private fields */ }
Expand description

A write side of the datalogger.

Implementations§

Source§

impl UnifiedLoggerWrite

Source

pub fn flush_section(&mut self, section: &mut SectionHandle)

Source

pub fn stats(&self) -> (usize, Vec<usize>, usize)

Trait Implementations§

Source§

impl Drop for UnifiedLoggerWrite

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where diff --git a/cu29/prelude/trait.ArrayLike.html b/cu29/prelude/trait.ArrayLike.html index ba316efb7..a9366359b 100644 --- a/cu29/prelude/trait.ArrayLike.html +++ b/cu29/prelude/trait.ArrayLike.html @@ -1,4 +1,4 @@ -ArrayLike in cu29::prelude - Rust
cu29::prelude

Trait ArrayLike

Source
pub trait ArrayLike:
+ArrayLike in cu29::prelude - Rust

Trait ArrayLike

Source
pub trait ArrayLike:
     Deref<Target = [Self::Element]>
     + DerefMut
     + Debug
diff --git a/cu29/prelude/trait.ClockProvider.html b/cu29/prelude/trait.ClockProvider.html
index 589f1e602..305b69a5c 100644
--- a/cu29/prelude/trait.ClockProvider.html
+++ b/cu29/prelude/trait.ClockProvider.html
@@ -1,4 +1,4 @@
-ClockProvider in cu29::prelude - Rust
cu29::prelude

Trait ClockProvider

pub trait ClockProvider {
+ClockProvider in cu29::prelude - Rust

Trait ClockProvider

pub trait ClockProvider {
     // Required method
     fn get_clock(&self) -> RobotClock;
 }
Expand description

A trait to provide a clock to the runtime.

diff --git a/cu29/prelude/trait.CopperListTuple.html b/cu29/prelude/trait.CopperListTuple.html index e4d25c610..e06e50fa5 100644 --- a/cu29/prelude/trait.CopperListTuple.html +++ b/cu29/prelude/trait.CopperListTuple.html @@ -1,4 +1,4 @@ -CopperListTuple in cu29::prelude - Rust
cu29::prelude

Trait CopperListTuple

pub trait CopperListTuple:
+CopperListTuple in cu29::prelude - Rust

Trait CopperListTuple

pub trait CopperListTuple:
     Sized
     + Encode
     + Decode
diff --git a/cu29/prelude/trait.CuMonitor.html b/cu29/prelude/trait.CuMonitor.html
index a23ec7a75..635576e30 100644
--- a/cu29/prelude/trait.CuMonitor.html
+++ b/cu29/prelude/trait.CuMonitor.html
@@ -1,4 +1,4 @@
-CuMonitor in cu29::prelude - Rust
cu29::prelude

Trait CuMonitor

Source
pub trait CuMonitor: Sized {
+CuMonitor in cu29::prelude - Rust

Trait CuMonitor

Source
pub trait CuMonitor: Sized {
     // Required methods
     fn new(
         config: &CuConfig,
diff --git a/cu29/prelude/trait.CuMsgPack.html b/cu29/prelude/trait.CuMsgPack.html
index 59ef3aaad..a7d650953 100644
--- a/cu29/prelude/trait.CuMsgPack.html
+++ b/cu29/prelude/trait.CuMsgPack.html
@@ -1,4 +1,4 @@
-CuMsgPack in cu29::prelude - Rust
cu29::prelude

Trait CuMsgPack

Source
pub trait CuMsgPack<'cl> { }

Implementations on Foreign Types§

Source§

impl CuMsgPack<'_> for ()

Source§

impl<'cl, T1, T2> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>)
where +CuMsgPack in cu29::prelude - Rust

Trait CuMsgPack

Source
pub trait CuMsgPack<'cl> { }

Implementations on Foreign Types§

Source§

impl CuMsgPack<'_> for ()

Source§

impl<'cl, T1, T2> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>)
where T1: CuMsgPayload + 'cl, T2: CuMsgPayload + 'cl,

Source§

impl<'cl, T1, T2, T3> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>, &'cl CuMsg<T3>)
where T1: CuMsgPayload + 'cl, diff --git a/cu29/prelude/trait.CuMsgPayload.html b/cu29/prelude/trait.CuMsgPayload.html index 332fb4a84..43ccd0509 100644 --- a/cu29/prelude/trait.CuMsgPayload.html +++ b/cu29/prelude/trait.CuMsgPayload.html @@ -1,4 +1,4 @@ -CuMsgPayload in cu29::prelude - Rust
cu29::prelude

Trait CuMsgPayload

Source
pub trait CuMsgPayload:
+CuMsgPayload in cu29::prelude - Rust

Trait CuMsgPayload

Source
pub trait CuMsgPayload:
     Sized
     + Default
     + Debug
diff --git a/cu29/prelude/trait.CuPool.html b/cu29/prelude/trait.CuPool.html
index 9e742ac93..b1d6db5ed 100644
--- a/cu29/prelude/trait.CuPool.html
+++ b/cu29/prelude/trait.CuPool.html
@@ -1,4 +1,4 @@
-CuPool in cu29::prelude - Rust
cu29::prelude

Trait CuPool

Source
pub trait CuPool<T>: PoolMonitor
where +CuPool in cu29::prelude - Rust

Trait CuPool

Source
pub trait CuPool<T>: PoolMonitor
where T: ArrayLike,
{ // Required methods fn acquire(&self) -> Option<CuHandle<T>>; diff --git a/cu29/prelude/trait.CuSinkTask.html b/cu29/prelude/trait.CuSinkTask.html index 144d12ccf..6189fc638 100644 --- a/cu29/prelude/trait.CuSinkTask.html +++ b/cu29/prelude/trait.CuSinkTask.html @@ -1,4 +1,4 @@ -CuSinkTask in cu29::prelude - Rust
cu29::prelude

Trait CuSinkTask

Source
pub trait CuSinkTask<'cl>: Freezable {
+CuSinkTask in cu29::prelude - Rust

Trait CuSinkTask

Source
pub trait CuSinkTask<'cl>: Freezable {
     type Input: CuMsgPack<'cl>;
 
     // Required methods
diff --git a/cu29/prelude/trait.CuSrcTask.html b/cu29/prelude/trait.CuSrcTask.html
index c350a23af..a9f7170fd 100644
--- a/cu29/prelude/trait.CuSrcTask.html
+++ b/cu29/prelude/trait.CuSrcTask.html
@@ -1,4 +1,4 @@
-CuSrcTask in cu29::prelude - Rust
cu29::prelude

Trait CuSrcTask

Source
pub trait CuSrcTask<'cl>: Freezable {
+CuSrcTask in cu29::prelude - Rust

Trait CuSrcTask

Source
pub trait CuSrcTask<'cl>: Freezable {
     type Output: CuMsgPack<'cl>;
 
     // Required methods
diff --git a/cu29/prelude/trait.CuTask.html b/cu29/prelude/trait.CuTask.html
index 20361cb23..e3b4db62c 100644
--- a/cu29/prelude/trait.CuTask.html
+++ b/cu29/prelude/trait.CuTask.html
@@ -1,4 +1,4 @@
-CuTask in cu29::prelude - Rust
cu29::prelude

Trait CuTask

Source
pub trait CuTask<'cl>: Freezable {
+CuTask in cu29::prelude - Rust

Trait CuTask

Source
pub trait CuTask<'cl>: Freezable {
     type Input: CuMsgPack<'cl>;
     type Output: CuMsgPack<'cl>;
 
diff --git a/cu29/prelude/trait.DeviceCuPool.html b/cu29/prelude/trait.DeviceCuPool.html
index 99250e578..ebaa54027 100644
--- a/cu29/prelude/trait.DeviceCuPool.html
+++ b/cu29/prelude/trait.DeviceCuPool.html
@@ -1,4 +1,4 @@
-DeviceCuPool in cu29::prelude - Rust
cu29::prelude

Trait DeviceCuPool

Source
pub trait DeviceCuPool<T>: CuPool<T>
where +DeviceCuPool in cu29::prelude - Rust

Trait DeviceCuPool

Source
pub trait DeviceCuPool<T>: CuPool<T>
where T: ArrayLike,
{ // Required method fn copy_to_host_pool<O>( diff --git a/cu29/prelude/trait.ElementType.html b/cu29/prelude/trait.ElementType.html index 45141255b..2308c3e95 100644 --- a/cu29/prelude/trait.ElementType.html +++ b/cu29/prelude/trait.ElementType.html @@ -1,4 +1,4 @@ -ElementType in cu29::prelude - Rust
cu29::prelude

Trait ElementType

Source
pub trait ElementType:
+ElementType in cu29::prelude - Rust

Trait ElementType

Source
pub trait ElementType:
     Sized
     + Default
     + Copy
diff --git a/cu29/prelude/trait.Freezable.html b/cu29/prelude/trait.Freezable.html
index 4a12e5e3e..8a67915ad 100644
--- a/cu29/prelude/trait.Freezable.html
+++ b/cu29/prelude/trait.Freezable.html
@@ -1,4 +1,4 @@
-Freezable in cu29::prelude - Rust
cu29::prelude

Trait Freezable

Source
pub trait Freezable {
+Freezable in cu29::prelude - Rust

Trait Freezable

Source
pub trait Freezable {
     // Provided methods
     fn freeze<E>(&self, encoder: &mut E) -> Result<(), EncodeError>
        where E: Encoder { ... }
diff --git a/cu29/prelude/trait.PoolMonitor.html b/cu29/prelude/trait.PoolMonitor.html
index 636352e11..8086fc423 100644
--- a/cu29/prelude/trait.PoolMonitor.html
+++ b/cu29/prelude/trait.PoolMonitor.html
@@ -1,4 +1,4 @@
-PoolMonitor in cu29::prelude - Rust
cu29::prelude

Trait PoolMonitor

Source
pub trait PoolMonitor: Send + Sync {
+PoolMonitor in cu29::prelude - Rust

Trait PoolMonitor

Source
pub trait PoolMonitor: Send + Sync {
     // Required methods
     fn id(&self) -> ArrayString<64>;
     fn space_left(&self) -> usize;
diff --git a/cu29/prelude/trait.WriteStream.html b/cu29/prelude/trait.WriteStream.html
index 79fb24d8d..a95043fb0 100644
--- a/cu29/prelude/trait.WriteStream.html
+++ b/cu29/prelude/trait.WriteStream.html
@@ -1,4 +1,4 @@
-WriteStream in cu29::prelude - Rust
cu29::prelude

Trait WriteStream

pub trait WriteStream<E>:
+WriteStream in cu29::prelude - Rust

Trait WriteStream

pub trait WriteStream<E>:
     Sync
     + Send
     + Debug
where diff --git a/cu29/prelude/type.AscIter.html b/cu29/prelude/type.AscIter.html index 7827cc821..5816ebdde 100644 --- a/cu29/prelude/type.AscIter.html +++ b/cu29/prelude/type.AscIter.html @@ -1 +1 @@ -AscIter in cu29::prelude - Rust
cu29::prelude

Type Alias AscIter

Source
pub type AscIter<'a, T> = Chain<Iter<'a, T>, Iter<'a, T>>;

Aliased Type§

struct AscIter<'a, T> { /* private fields */ }
\ No newline at end of file +AscIter in cu29::prelude - Rust

Type Alias AscIter

Source
pub type AscIter<'a, T> = Chain<Iter<'a, T>, Iter<'a, T>>;

Aliased Type§

struct AscIter<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29/prelude/type.AscIterMut.html b/cu29/prelude/type.AscIterMut.html index b9053e9ec..840c2a626 100644 --- a/cu29/prelude/type.AscIterMut.html +++ b/cu29/prelude/type.AscIterMut.html @@ -1 +1 @@ -AscIterMut in cu29::prelude - Rust
cu29::prelude

Type Alias AscIterMut

Source
pub type AscIterMut<'a, T> = Chain<IterMut<'a, T>, IterMut<'a, T>>;

Aliased Type§

struct AscIterMut<'a, T> { /* private fields */ }
\ No newline at end of file +AscIterMut in cu29::prelude - Rust

Type Alias AscIterMut

Source
pub type AscIterMut<'a, T> = Chain<IterMut<'a, T>, IterMut<'a, T>>;

Aliased Type§

struct AscIterMut<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29/prelude/type.CuResult.html b/cu29/prelude/type.CuResult.html index 237062181..583cd1981 100644 --- a/cu29/prelude/type.CuResult.html +++ b/cu29/prelude/type.CuResult.html @@ -1,4 +1,4 @@ -CuResult in cu29::prelude - Rust
cu29::prelude

Type Alias CuResult

pub type CuResult<T> = Result<T, CuError>;

Aliased Type§

enum CuResult<T> {
+CuResult in cu29::prelude - Rust

Type Alias CuResult

pub type CuResult<T> = Result<T, CuError>;

Aliased Type§

enum CuResult<T> {
     Ok(T),
     Err(CuError),
 }

Variants§

§1.0.0

Ok(T)

Contains the success value

diff --git a/cu29/prelude/type.CuTime.html b/cu29/prelude/type.CuTime.html index dfc37972a..79e67f35f 100644 --- a/cu29/prelude/type.CuTime.html +++ b/cu29/prelude/type.CuTime.html @@ -1,2 +1,2 @@ -CuTime in cu29::prelude - Rust
cu29::prelude

Type Alias CuTime

pub type CuTime = CuDuration;
Expand description

A robot time is just a duration from a fixed point in time.

+CuTime in cu29::prelude - Rust

Type Alias CuTime

pub type CuTime = CuDuration;
Expand description

A robot time is just a duration from a fixed point in time.

Aliased Type§

struct CuTime(pub u64);

Fields§

§0: u64
\ No newline at end of file diff --git a/cu29/prelude/type.Iter.html b/cu29/prelude/type.Iter.html index 8539fac9f..b9efb9c9e 100644 --- a/cu29/prelude/type.Iter.html +++ b/cu29/prelude/type.Iter.html @@ -1 +1 @@ -Iter in cu29::prelude - Rust
cu29::prelude

Type Alias Iter

Source
pub type Iter<'a, T> = Chain<Rev<Iter<'a, T>>, Rev<Iter<'a, T>>>;

Aliased Type§

struct Iter<'a, T> { /* private fields */ }
\ No newline at end of file +Iter in cu29::prelude - Rust

Type Alias Iter

Source
pub type Iter<'a, T> = Chain<Rev<Iter<'a, T>>, Rev<Iter<'a, T>>>;

Aliased Type§

struct Iter<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29/prelude/type.IterMut.html b/cu29/prelude/type.IterMut.html index 914e8aae2..ad059f93b 100644 --- a/cu29/prelude/type.IterMut.html +++ b/cu29/prelude/type.IterMut.html @@ -1 +1 @@ -IterMut in cu29::prelude - Rust
cu29::prelude

Type Alias IterMut

Source
pub type IterMut<'a, T> = Chain<Rev<IterMut<'a, T>>, Rev<IterMut<'a, T>>>;

Aliased Type§

struct IterMut<'a, T> { /* private fields */ }
\ No newline at end of file +IterMut in cu29::prelude - Rust

Type Alias IterMut

Source
pub type IterMut<'a, T> = Chain<Rev<IterMut<'a, T>>, Rev<IterMut<'a, T>>>;

Aliased Type§

struct IterMut<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29/prelude/type.NodeId.html b/cu29/prelude/type.NodeId.html index e3b99e6c9..6318243cf 100644 --- a/cu29/prelude/type.NodeId.html +++ b/cu29/prelude/type.NodeId.html @@ -1,3 +1,3 @@ -NodeId in cu29::prelude - Rust
cu29::prelude

Type Alias NodeId

Source
pub type NodeId = u32;
Expand description

NodeId is the unique identifier of a node in the configuration graph for petgraph +NodeId in cu29::prelude - Rust

Type Alias NodeId

Source
pub type NodeId = u32;
Expand description

NodeId is the unique identifier of a node in the configuration graph for petgraph and the code generation.

\ No newline at end of file diff --git a/cu29/simulation/enum.CuTaskCallbackState.html b/cu29/simulation/enum.CuTaskCallbackState.html index bca8e4d90..968915d54 100644 --- a/cu29/simulation/enum.CuTaskCallbackState.html +++ b/cu29/simulation/enum.CuTaskCallbackState.html @@ -1,4 +1,4 @@ -CuTaskCallbackState in cu29::simulation - Rust
cu29::simulation

Enum CuTaskCallbackState

Source
pub enum CuTaskCallbackState<'cl, I, O>
where +CuTaskCallbackState in cu29::simulation - Rust

Enum CuTaskCallbackState

Source
pub enum CuTaskCallbackState<'cl, I, O>
where I: CuMsgPack<'cl>, O: CuMsgPack<'cl>,
{ New(Option<ComponentConfig>), diff --git a/cu29/simulation/enum.SimOverride.html b/cu29/simulation/enum.SimOverride.html index 305c9ae4d..a7493a55b 100644 --- a/cu29/simulation/enum.SimOverride.html +++ b/cu29/simulation/enum.SimOverride.html @@ -1,4 +1,4 @@ -SimOverride in cu29::simulation - Rust
cu29::simulation

Enum SimOverride

Source
pub enum SimOverride {
+SimOverride in cu29::simulation - Rust

Enum SimOverride

Source
pub enum SimOverride {
     ExecutedBySim,
     ExecuteByRuntime,
     Errored(String),
diff --git a/cu29/simulation/index.html b/cu29/simulation/index.html
index 8ce4ac1c3..281577a8d 100644
--- a/cu29/simulation/index.html
+++ b/cu29/simulation/index.html
@@ -1,4 +1,4 @@
-cu29::simulation - Rust
cu29

Module simulation

Source
Expand description

§cu29::simulation Module

+cu29::simulation - Rust

Module simulation

Source
Expand description

§cu29::simulation Module

The cu29::simulation module provides an interface to simulate tasks in Copper-based systems. It offers structures, traits, and enums that enable hooking into the lifecycle of tasks, adapting their behavior, and integrating them with simulated hardware environments.

diff --git a/cu29/simulation/struct.CuSimSinkTask.html b/cu29/simulation/struct.CuSimSinkTask.html index b98ede01d..ec962f676 100644 --- a/cu29/simulation/struct.CuSimSinkTask.html +++ b/cu29/simulation/struct.CuSimSinkTask.html @@ -1,4 +1,4 @@ -CuSimSinkTask in cu29::simulation - Rust
cu29::simulation

Struct CuSimSinkTask

Source
pub struct CuSimSinkTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a sink task for the simulations. +CuSimSinkTask in cu29::simulation - Rust

Struct CuSimSinkTask

Source
pub struct CuSimSinkTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a sink task for the simulations. It basically does nothing in place of a real driver so it won’t try to initialize any hardware.

Trait Implementations§

Source§

impl<'cl, T> CuSinkTask<'cl> for CuSimSinkTask<T>
where T: CuMsgPayload + 'cl,

Source§

type Input = &'cl CuMsg<T>

Source§

fn new(_config: Option<&ComponentConfig>) -> Result<CuSimSinkTask<T>, CuError>
where diff --git a/cu29/simulation/struct.CuSimSrcTask.html b/cu29/simulation/struct.CuSimSrcTask.html index f08b63aeb..19bd0beba 100644 --- a/cu29/simulation/struct.CuSimSrcTask.html +++ b/cu29/simulation/struct.CuSimSrcTask.html @@ -1,4 +1,4 @@ -CuSimSrcTask in cu29::simulation - Rust
cu29::simulation

Struct CuSimSrcTask

Source
pub struct CuSimSrcTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a source task for the simulations. +CuSimSrcTask in cu29::simulation - Rust

Struct CuSimSrcTask

Source
pub struct CuSimSrcTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a source task for the simulations. It basically does nothing in place of a real driver so it won’t try to initialize any hardware.

Trait Implementations§

Source§

impl<'cl, T> CuSrcTask<'cl> for CuSimSrcTask<T>
where T: CuMsgPayload + 'cl,

Source§

type Output = &'cl mut CuMsg<T>

Source§

fn new(_config: Option<&ComponentConfig>) -> Result<CuSimSrcTask<T>, CuError>
where diff --git a/cu29/struct.CuError.html b/cu29/struct.CuError.html index e0a199734..2be44bf07 100644 --- a/cu29/struct.CuError.html +++ b/cu29/struct.CuError.html @@ -1,4 +1,4 @@ -CuError in cu29 - Rust
cu29

Struct CuError

pub struct CuError { /* private fields */ }
Expand description

Common copper Error type.

+CuError in cu29 - Rust

Struct CuError

pub struct CuError { /* private fields */ }
Expand description

Common copper Error type.

Implementations§

§

impl CuError

pub fn new_with_cause(message: &str, cause: impl Error) -> CuError

pub fn add_cause(self, context: &str) -> CuError

Trait Implementations§

§

impl Clone for CuError

§

fn clone(&self) -> CuError

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for CuError

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'de> Deserialize<'de> for CuError

§

fn deserialize<__D>( __deserializer: __D, ) -> Result<CuError, <__D as Deserializer<'de>>::Error>
where diff --git a/cu29/trait.CopperListTuple.html b/cu29/trait.CopperListTuple.html index f516e6bbe..fc796cb5a 100644 --- a/cu29/trait.CopperListTuple.html +++ b/cu29/trait.CopperListTuple.html @@ -1,4 +1,4 @@ -CopperListTuple in cu29 - Rust
cu29

Trait CopperListTuple

pub trait CopperListTuple:
+CopperListTuple in cu29 - Rust

Trait CopperListTuple

pub trait CopperListTuple:
     Sized
     + Encode
     + Decode
diff --git a/cu29/trait.WriteStream.html b/cu29/trait.WriteStream.html
index 630c042b7..8f6fcab88 100644
--- a/cu29/trait.WriteStream.html
+++ b/cu29/trait.WriteStream.html
@@ -1,4 +1,4 @@
-WriteStream in cu29 - Rust
cu29

Trait WriteStream

pub trait WriteStream<E>:
+WriteStream in cu29 - Rust

Trait WriteStream

pub trait WriteStream<E>:
     Sync
     + Send
     + Debug
where diff --git a/cu29/type.CuResult.html b/cu29/type.CuResult.html index df6b143de..a2c97de5e 100644 --- a/cu29/type.CuResult.html +++ b/cu29/type.CuResult.html @@ -1,4 +1,4 @@ -CuResult in cu29 - Rust
cu29

Type Alias CuResult

pub type CuResult<T> = Result<T, CuError>;

Aliased Type§

enum CuResult<T> {
+CuResult in cu29 - Rust

Type Alias CuResult

pub type CuResult<T> = Result<T, CuError>;

Aliased Type§

enum CuResult<T> {
     Ok(T),
     Err(CuError),
 }

Variants§

§1.0.0

Ok(T)

Contains the success value

diff --git a/cu29_clock/all.html b/cu29_clock/all.html index 796f90994..2d40ceeda 100644 --- a/cu29_clock/all.html +++ b/cu29_clock/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/cu29_clock/enum.Tov.html b/cu29_clock/enum.Tov.html index d8a17702c..660ba1794 100644 --- a/cu29_clock/enum.Tov.html +++ b/cu29_clock/enum.Tov.html @@ -1,4 +1,4 @@ -Tov in cu29_clock - Rust
cu29_clock

Enum Tov

Source
pub enum Tov {
+Tov in cu29_clock - Rust

Enum Tov

Source
pub enum Tov {
     None,
     Time(CuTime),
     Range(CuTimeRange),
diff --git a/cu29_clock/index.html b/cu29_clock/index.html
index e2bf31b8b..c6d434376 100644
--- a/cu29_clock/index.html
+++ b/cu29_clock/index.html
@@ -1,4 +1,4 @@
-cu29_clock - Rust

Crate cu29_clock

Source

Structs§

CuDuration
For Robot times, the underlying type is a u64 representing nanoseconds. +cu29_clock - Rust

Crate cu29_clock

Source

Structs§

CuDuration
For Robot times, the underlying type is a u64 representing nanoseconds. It is always positive to simplify the reasoning on the user side.
CuTimeRange
Represents a time range.
Instant
A point-in-time wall-clock measurement.
OptionCuTime
Homebrewed Option<CuDuration> to avoid using 128bits just to represent an Option.
PartialCuTimeRange
Represents a time range with possible undefined start or end or both.
RobotClock
A running Robot clock. The clock is a monotonic clock that starts at an arbitrary reference time. It is clone resilient, ie a clone will be the same clock, even when mocked.
RobotClockMock
A mock clock that can be controlled by the user.

Enums§

Tov
The time of validity of a message can be more than one time but can be a time range of Tovs. diff --git a/cu29_clock/struct.CuDuration.html b/cu29_clock/struct.CuDuration.html index e1df97b45..00e54d2d7 100644 --- a/cu29_clock/struct.CuDuration.html +++ b/cu29_clock/struct.CuDuration.html @@ -1,4 +1,4 @@ -CuDuration in cu29_clock - Rust
cu29_clock

Struct CuDuration

Source
pub struct CuDuration(pub u64);
Expand description

For Robot times, the underlying type is a u64 representing nanoseconds. +CuDuration in cu29_clock - Rust

Struct CuDuration

Source
pub struct CuDuration(pub u64);
Expand description

For Robot times, the underlying type is a u64 representing nanoseconds. It is always positive to simplify the reasoning on the user side.

Tuple Fields§

§0: u64

Implementations§

Source§

impl CuDuration

Source

pub const MIN: CuDuration

Source

pub const MAX: CuDuration

Source

pub fn max(&self, p0: CuDuration) -> CuDuration

Source

pub fn min(&self, p0: CuDuration) -> CuDuration

Source

pub fn as_nanos(&self) -> u64

Trait Implementations§

Source§

impl Add for CuDuration

Source§

type Output = CuDuration

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
Source§

impl AddAssign for CuDuration

Source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
Source§

impl<'de> BorrowDecode<'de> for CuDuration

Source§

fn borrow_decode<D: BorrowDecoder<'de>>( decoder: &mut D, diff --git a/cu29_clock/struct.CuTimeRange.html b/cu29_clock/struct.CuTimeRange.html index 469a3c352..1ca7973ac 100644 --- a/cu29_clock/struct.CuTimeRange.html +++ b/cu29_clock/struct.CuTimeRange.html @@ -1,4 +1,4 @@ -CuTimeRange in cu29_clock - Rust
cu29_clock

Struct CuTimeRange

Source
pub struct CuTimeRange {
+CuTimeRange in cu29_clock - Rust

Struct CuTimeRange

Source
pub struct CuTimeRange {
     pub start: CuTime,
     pub end: CuTime,
 }
Expand description

Represents a time range.

diff --git a/cu29_clock/struct.Instant.html b/cu29_clock/struct.Instant.html index f226fd3c3..de7de2d6a 100644 --- a/cu29_clock/struct.Instant.html +++ b/cu29_clock/struct.Instant.html @@ -1,4 +1,4 @@ -Instant in cu29_clock - Rust
cu29_clock

Struct Instant

pub struct Instant(/* private fields */);
Expand description

A point-in-time wall-clock measurement.

+Instant in cu29_clock - Rust

Struct Instant

pub struct Instant(/* private fields */);
Expand description

A point-in-time wall-clock measurement.

Mimics most of the functionality of std::time::Instant but provides an additional method for using the “recent time” feature of quanta.

§Monotonicity

diff --git a/cu29_clock/struct.OptionCuTime.html b/cu29_clock/struct.OptionCuTime.html index f9eb6202f..3d6b7b400 100644 --- a/cu29_clock/struct.OptionCuTime.html +++ b/cu29_clock/struct.OptionCuTime.html @@ -1,4 +1,4 @@ -OptionCuTime in cu29_clock - Rust
cu29_clock

Struct OptionCuTime

Source
pub struct OptionCuTime(/* private fields */);
Expand description

Homebrewed Option<CuDuration> to avoid using 128bits just to represent an Option.

+OptionCuTime in cu29_clock - Rust

Struct OptionCuTime

Source
pub struct OptionCuTime(/* private fields */);
Expand description

Homebrewed Option<CuDuration> to avoid using 128bits just to represent an Option.

Implementations§

Source§

impl OptionCuTime

Source

pub fn is_none(&self) -> bool

Source

pub fn none() -> Self

Source

pub fn unwrap(self) -> CuTime

Trait Implementations§

Source§

impl<'__de> BorrowDecode<'__de> for OptionCuTime

Source§

fn borrow_decode<__D: BorrowDecoder<'__de>>( decoder: &mut __D, ) -> Result<Self, DecodeError>

Attempt to decode this type with the given BorrowDecode.
Source§

impl Clone for OptionCuTime

Source§

fn clone(&self) -> OptionCuTime

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for OptionCuTime

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Decode for OptionCuTime

Source§

fn decode<__D: Decoder>(decoder: &mut __D) -> Result<Self, DecodeError>

Attempt to decode this type with the given Decode.
Source§

impl Default for OptionCuTime

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for OptionCuTime

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where diff --git a/cu29_clock/struct.PartialCuTimeRange.html b/cu29_clock/struct.PartialCuTimeRange.html index 6abe83f59..86f9b9946 100644 --- a/cu29_clock/struct.PartialCuTimeRange.html +++ b/cu29_clock/struct.PartialCuTimeRange.html @@ -1,4 +1,4 @@ -PartialCuTimeRange in cu29_clock - Rust
cu29_clock

Struct PartialCuTimeRange

Source
pub struct PartialCuTimeRange {
+PartialCuTimeRange in cu29_clock - Rust

Struct PartialCuTimeRange

Source
pub struct PartialCuTimeRange {
     pub start: OptionCuTime,
     pub end: OptionCuTime,
 }
Expand description

Represents a time range with possible undefined start or end or both.

diff --git a/cu29_clock/struct.RobotClock.html b/cu29_clock/struct.RobotClock.html index 92c208698..8e920a80e 100644 --- a/cu29_clock/struct.RobotClock.html +++ b/cu29_clock/struct.RobotClock.html @@ -1,4 +1,4 @@ -RobotClock in cu29_clock - Rust
cu29_clock

Struct RobotClock

Source
pub struct RobotClock { /* private fields */ }
Expand description

A running Robot clock. +RobotClock in cu29_clock - Rust

Struct RobotClock

Source
pub struct RobotClock { /* private fields */ }
Expand description

A running Robot clock. The clock is a monotonic clock that starts at an arbitrary reference time. It is clone resilient, ie a clone will be the same clock, even when mocked.

Implementations§

Source§

impl RobotClock

Source

pub fn new() -> Self

Creates a RobotClock using now as its reference time. diff --git a/cu29_clock/struct.RobotClockMock.html b/cu29_clock/struct.RobotClockMock.html index 4552a454a..0f2eb796a 100644 --- a/cu29_clock/struct.RobotClockMock.html +++ b/cu29_clock/struct.RobotClockMock.html @@ -1,4 +1,4 @@ -RobotClockMock in cu29_clock - Rust

cu29_clock

Struct RobotClockMock

Source
pub struct RobotClockMock(/* private fields */);
Expand description

A mock clock that can be controlled by the user.

+RobotClockMock in cu29_clock - Rust

Struct RobotClockMock

Source
pub struct RobotClockMock(/* private fields */);
Expand description

A mock clock that can be controlled by the user.

Implementations§

Source§

impl RobotClockMock

Source

pub fn increment(&self, amount: Duration)

Source

pub fn decrement(&self, amount: Duration)

Decrements the time by the given amount. Be careful this brakes the monotonicity of the clock.

Source

pub fn value(&self) -> u64

Gets the current value of time.

diff --git a/cu29_clock/trait.ClockProvider.html b/cu29_clock/trait.ClockProvider.html index e2d9cf558..2dbae29cd 100644 --- a/cu29_clock/trait.ClockProvider.html +++ b/cu29_clock/trait.ClockProvider.html @@ -1,4 +1,4 @@ -ClockProvider in cu29_clock - Rust
cu29_clock

Trait ClockProvider

Source
pub trait ClockProvider {
+ClockProvider in cu29_clock - Rust

Trait ClockProvider

Source
pub trait ClockProvider {
     // Required method
     fn get_clock(&self) -> RobotClock;
 }
Expand description

A trait to provide a clock to the runtime.

diff --git a/cu29_clock/type.CuTime.html b/cu29_clock/type.CuTime.html index cec970278..a1b96ae7f 100644 --- a/cu29_clock/type.CuTime.html +++ b/cu29_clock/type.CuTime.html @@ -1,2 +1,2 @@ -CuTime in cu29_clock - Rust
cu29_clock

Type Alias CuTime

Source
pub type CuTime = CuDuration;
Expand description

A robot time is just a duration from a fixed point in time.

+CuTime in cu29_clock - Rust

Type Alias CuTime

Source
pub type CuTime = CuDuration;
Expand description

A robot time is just a duration from a fixed point in time.

Aliased Type§

struct CuTime(pub u64);

Fields§

§0: u64
\ No newline at end of file diff --git a/cu29_derive/all.html b/cu29_derive/all.html index 27935ce7f..b78f8190d 100644 --- a/cu29_derive/all.html +++ b/cu29_derive/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Macros

Attribute Macros

\ No newline at end of file +List of all items in this crate

List of all items

Macros

Attribute Macros

\ No newline at end of file diff --git a/cu29_derive/attr.copper_runtime.html b/cu29_derive/attr.copper_runtime.html index a4516984a..4258f8557 100644 --- a/cu29_derive/attr.copper_runtime.html +++ b/cu29_derive/attr.copper_runtime.html @@ -1,4 +1,4 @@ -copper_runtime in cu29_derive - Rust
cu29_derive

Attribute Macro copper_runtime

Source
#[copper_runtime]
Expand description

Adds #[copper_runtime(config = “path”, sim_mode = false/true)] to your application struct to generate the runtime. +copper_runtime in cu29_derive - Rust

Attribute Macro copper_runtime

Source
#[copper_runtime]
Expand description

Adds #[copper_runtime(config = “path”, sim_mode = false/true)] to your application struct to generate the runtime. if sim_mode is omitted, it is set to false. This will add a “runtime” field to your struct and implement the “new” and “run” methods.

\ No newline at end of file diff --git a/cu29_derive/index.html b/cu29_derive/index.html index 9479a306d..7ed2db54f 100644 --- a/cu29_derive/index.html +++ b/cu29_derive/index.html @@ -1,4 +1,4 @@ -cu29_derive - Rust

Crate cu29_derive

Source

Macros§

gen_cumsgs
Generates the CopperList content type from a config. +cu29_derive - Rust

Crate cu29_derive

Source

Macros§

gen_cumsgs
Generates the CopperList content type from a config. gen_cumsgs!(“path/to/config.toml”) It will create a new type called CuMsgs you can pass to the log reader for decoding:

Attribute Macros§

copper_runtime
Adds #[copper_runtime(config = “path”, sim_mode = false/true)] to your application struct to generate the runtime. if sim_mode is omitted, it is set to false. diff --git a/cu29_derive/macro.gen_cumsgs.html b/cu29_derive/macro.gen_cumsgs.html index bc255d4a6..7fac811f8 100644 --- a/cu29_derive/macro.gen_cumsgs.html +++ b/cu29_derive/macro.gen_cumsgs.html @@ -1,4 +1,4 @@ -gen_cumsgs in cu29_derive - Rust
cu29_derive

Macro gen_cumsgs

Source
gen_cumsgs!() { /* proc-macro */ }
Expand description

Generates the CopperList content type from a config. +gen_cumsgs in cu29_derive - Rust

Macro gen_cumsgs

Source
gen_cumsgs!() { /* proc-macro */ }
Expand description

Generates the CopperList content type from a config. gen_cumsgs!(“path/to/config.toml”) It will create a new type called CuMsgs you can pass to the log reader for decoding:

\ No newline at end of file diff --git a/cu29_export/all.html b/cu29_export/all.html index 05a7f13f9..4325b43ad 100644 --- a/cu29_export/all.html +++ b/cu29_export/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/cu29_export/enum.Command.html b/cu29_export/enum.Command.html index e36d1c5fa..67ff76608 100644 --- a/cu29_export/enum.Command.html +++ b/cu29_export/enum.Command.html @@ -1,4 +1,4 @@ -Command in cu29_export - Rust
cu29_export

Enum Command

Source
pub enum Command {
+Command in cu29_export - Rust

Enum Command

Source
pub enum Command {
     ExtractLog {
         log_index: PathBuf,
     },
diff --git a/cu29_export/enum.ExportFormat.html b/cu29_export/enum.ExportFormat.html
index aaf01ee7a..239098d69 100644
--- a/cu29_export/enum.ExportFormat.html
+++ b/cu29_export/enum.ExportFormat.html
@@ -1,4 +1,4 @@
-ExportFormat in cu29_export - Rust
cu29_export

Enum ExportFormat

Source
pub enum ExportFormat {
+ExportFormat in cu29_export - Rust

Enum ExportFormat

Source
pub enum ExportFormat {
     Json,
     Csv,
 }

Variants§

§

Json

§

Csv

Trait Implementations§

Source§

impl Clone for ExportFormat

Source§

fn clone(&self) -> ExportFormat

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Display for ExportFormat

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Ord for ExportFormat

Source§

fn cmp(&self, other: &ExportFormat) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where diff --git a/cu29_export/fn.copperlists_dump.html b/cu29_export/fn.copperlists_dump.html index b4b0b7c6e..46b6a9583 100644 --- a/cu29_export/fn.copperlists_dump.html +++ b/cu29_export/fn.copperlists_dump.html @@ -1,4 +1,4 @@ -copperlists_dump in cu29_export - Rust
cu29_export

Function copperlists_dump

Source
pub fn copperlists_dump<P: CopperListTuple>(
+copperlists_dump in cu29_export - Rust

Function copperlists_dump

Source
pub fn copperlists_dump<P: CopperListTuple>(
     src: impl Read,
 ) -> impl Iterator<Item = CopperList<P>>
Expand description

Extracts the copper lists from a binary representation. P is the Payload determined by the configuration of the application.

diff --git a/cu29_export/fn.run_cli.html b/cu29_export/fn.run_cli.html index d290375a8..9586b2e32 100644 --- a/cu29_export/fn.run_cli.html +++ b/cu29_export/fn.run_cli.html @@ -1,4 +1,4 @@ -run_cli in cu29_export - Rust
cu29_export

Function run_cli

Source
pub fn run_cli<P>() -> CuResult<()>
where +run_cli in cu29_export - Rust

Function run_cli

Source
pub fn run_cli<P>() -> CuResult<()>
where P: CopperListTuple,
Expand description

This is a generator for a main function to build a log extractor. It depends on the specific type of the CopperList payload that is determined at compile time from the configuration.

\ No newline at end of file diff --git a/cu29_export/fn.textlog_dump.html b/cu29_export/fn.textlog_dump.html index d87c516fb..95527ab38 100644 --- a/cu29_export/fn.textlog_dump.html +++ b/cu29_export/fn.textlog_dump.html @@ -1,4 +1,4 @@ -textlog_dump in cu29_export - Rust
cu29_export

Function textlog_dump

Source
pub fn textlog_dump(src: impl Read, index: &Path) -> CuResult<()>
Expand description

Full dump of the copper structured log from its binary representation. +textlog_dump in cu29_export - Rust

Function textlog_dump

Source
pub fn textlog_dump(src: impl Read, index: &Path) -> CuResult<()>
Expand description

Full dump of the copper structured log from its binary representation. This rebuilds a textual log. src: the source of the log data index: the path to the index file (containing the interned strings constructed at build time)

diff --git a/cu29_export/index.html b/cu29_export/index.html index 08a37d644..85d6b5949 100644 --- a/cu29_export/index.html +++ b/cu29_export/index.html @@ -1,4 +1,4 @@ -cu29_export - Rust

Crate cu29_export

Source

Structs§

LogReaderCli
This is a generator for a main function to build a log extractor.

Enums§

Command
ExportFormat

Functions§

copperlists_dump
Extracts the copper lists from a binary representation. +cu29_export - Rust

Crate cu29_export

Source

Structs§

LogReaderCli
This is a generator for a main function to build a log extractor.

Enums§

Command
ExportFormat

Functions§

copperlists_dump
Extracts the copper lists from a binary representation. P is the Payload determined by the configuration of the application.
run_cli
This is a generator for a main function to build a log extractor. It depends on the specific type of the CopperList payload that is determined at compile time from the configuration.
textlog_dump
Full dump of the copper structured log from its binary representation. This rebuilds a textual log. diff --git a/cu29_export/struct.LogReaderCli.html b/cu29_export/struct.LogReaderCli.html index 5555e40dc..51ab1e93d 100644 --- a/cu29_export/struct.LogReaderCli.html +++ b/cu29_export/struct.LogReaderCli.html @@ -1,4 +1,4 @@ -LogReaderCli in cu29_export - Rust
cu29_export

Struct LogReaderCli

Source
pub struct LogReaderCli {
+LogReaderCli in cu29_export - Rust

Struct LogReaderCli

Source
pub struct LogReaderCli {
     pub unifiedlog_base: PathBuf,
     pub command: Command,
 }
Expand description

This is a generator for a main function to build a log extractor.

diff --git a/cu29_helpers/all.html b/cu29_helpers/all.html index 6632be895..55a404e46 100644 --- a/cu29_helpers/all.html +++ b/cu29_helpers/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Functions

\ No newline at end of file +List of all items in this crate

List of all items

Functions

\ No newline at end of file diff --git a/cu29_helpers/fn.basic_copper_setup.html b/cu29_helpers/fn.basic_copper_setup.html index 54ddc1ee2..db4be2912 100644 --- a/cu29_helpers/fn.basic_copper_setup.html +++ b/cu29_helpers/fn.basic_copper_setup.html @@ -1,4 +1,4 @@ -basic_copper_setup in cu29_helpers - Rust
cu29_helpers

Function basic_copper_setup

Source
pub fn basic_copper_setup(
+basic_copper_setup in cu29_helpers - Rust

Function basic_copper_setup

Source
pub fn basic_copper_setup(
     unifiedlogger_output_base_name: &Path,
     slab_size: Option<usize>,
     _text_log: bool,
diff --git a/cu29_helpers/index.html b/cu29_helpers/index.html
index ec190da8a..629387da5 100644
--- a/cu29_helpers/index.html
+++ b/cu29_helpers/index.html
@@ -1,2 +1,2 @@
-cu29_helpers - Rust

Crate cu29_helpers

Source

Functions§

basic_copper_setup
This is a basic setup for a copper application to get you started. +cu29_helpers - Rust

Crate cu29_helpers

Source

Functions§

basic_copper_setup
This is a basic setup for a copper application to get you started. Duplicate and customize as needed when your needs grow.
\ No newline at end of file diff --git a/cu29_intern_strs/all.html b/cu29_intern_strs/all.html index f99bf5d0c..989e3b8c5 100644 --- a/cu29_intern_strs/all.html +++ b/cu29_intern_strs/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Functions

\ No newline at end of file +List of all items in this crate

List of all items

Functions

\ No newline at end of file diff --git a/cu29_intern_strs/fn.read_interned_strings.html b/cu29_intern_strs/fn.read_interned_strings.html index c7b255a88..2c8dfca3f 100644 --- a/cu29_intern_strs/fn.read_interned_strings.html +++ b/cu29_intern_strs/fn.read_interned_strings.html @@ -1,2 +1,2 @@ -read_interned_strings in cu29_intern_strs - Rust
cu29_intern_strs

Function read_interned_strings

Source
pub fn read_interned_strings(index: &Path) -> CuResult<Vec<String>>
Expand description

Rebuild the interned string index in memory.

+read_interned_strings in cu29_intern_strs - Rust

Function read_interned_strings

Source
pub fn read_interned_strings(index: &Path) -> CuResult<Vec<String>>
Expand description

Rebuild the interned string index in memory.

\ No newline at end of file diff --git a/cu29_intern_strs/index.html b/cu29_intern_strs/index.html index ec01caadb..a33b79651 100644 --- a/cu29_intern_strs/index.html +++ b/cu29_intern_strs/index.html @@ -1 +1 @@ -cu29_intern_strs - Rust

Crate cu29_intern_strs

Source

Functions§

read_interned_strings
Rebuild the interned string index in memory.
\ No newline at end of file +cu29_intern_strs - Rust

Crate cu29_intern_strs

Source

Functions§

read_interned_strings
Rebuild the interned string index in memory.
\ No newline at end of file diff --git a/cu29_log/all.html b/cu29_log/all.html index 1abb5ac75..3043935a1 100644 --- a/cu29_log/all.html +++ b/cu29_log/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/cu29_log/constant.ANONYMOUS.html b/cu29_log/constant.ANONYMOUS.html index 0269b4960..c43fc863b 100644 --- a/cu29_log/constant.ANONYMOUS.html +++ b/cu29_log/constant.ANONYMOUS.html @@ -1 +1 @@ -ANONYMOUS in cu29_log - Rust
cu29_log

Constant ANONYMOUS

Source
pub const ANONYMOUS: u32 = 0;
\ No newline at end of file +ANONYMOUS in cu29_log - Rust

Constant ANONYMOUS

Source
pub const ANONYMOUS: u32 = 0;
\ No newline at end of file diff --git a/cu29_log/constant.MAX_LOG_PARAMS_ON_STACK.html b/cu29_log/constant.MAX_LOG_PARAMS_ON_STACK.html index d914b9db8..5eb58375a 100644 --- a/cu29_log/constant.MAX_LOG_PARAMS_ON_STACK.html +++ b/cu29_log/constant.MAX_LOG_PARAMS_ON_STACK.html @@ -1 +1 @@ -MAX_LOG_PARAMS_ON_STACK in cu29_log - Rust
cu29_log

Constant MAX_LOG_PARAMS_ON_STACK

Source
pub const MAX_LOG_PARAMS_ON_STACK: usize = 10;
\ No newline at end of file +MAX_LOG_PARAMS_ON_STACK in cu29_log - Rust

Constant MAX_LOG_PARAMS_ON_STACK

Source
pub const MAX_LOG_PARAMS_ON_STACK: usize = 10;
\ No newline at end of file diff --git a/cu29_log/fn.default_log_index_dir.html b/cu29_log/fn.default_log_index_dir.html index 51bd25357..b6d6a36d8 100644 --- a/cu29_log/fn.default_log_index_dir.html +++ b/cu29_log/fn.default_log_index_dir.html @@ -1,2 +1,2 @@ -default_log_index_dir in cu29_log - Rust
cu29_log

Function default_log_index_dir

Source
pub fn default_log_index_dir() -> PathBuf
Expand description

Convenience function to returns the default path for the log index directory.

+default_log_index_dir in cu29_log - Rust

Function default_log_index_dir

Source
pub fn default_log_index_dir() -> PathBuf
Expand description

Convenience function to returns the default path for the log index directory.

\ No newline at end of file diff --git a/cu29_log/fn.format_logline.html b/cu29_log/fn.format_logline.html index 38684c687..3068ca5af 100644 --- a/cu29_log/fn.format_logline.html +++ b/cu29_log/fn.format_logline.html @@ -1,4 +1,4 @@ -format_logline in cu29_log - Rust
cu29_log

Function format_logline

Source
pub fn format_logline(
+format_logline in cu29_log - Rust

Function format_logline

Source
pub fn format_logline(
     time: CuTime,
     format_str: &str,
     params: &[String],
diff --git a/cu29_log/fn.rebuild_logline.html b/cu29_log/fn.rebuild_logline.html
index d6543c0ae..1582660c3 100644
--- a/cu29_log/fn.rebuild_logline.html
+++ b/cu29_log/fn.rebuild_logline.html
@@ -1,4 +1,4 @@
-rebuild_logline in cu29_log - Rust
cu29_log

Function rebuild_logline

Source
pub fn rebuild_logline(
+rebuild_logline in cu29_log - Rust

Function rebuild_logline

Source
pub fn rebuild_logline(
     all_interned_strings: &[String],
     entry: &CuLogEntry,
 ) -> CuResult<String>
Expand description

Rebuild a log line from the interned strings and the CuLogEntry. diff --git a/cu29_log/index.html b/cu29_log/index.html index 62e1252e7..99aa18905 100644 --- a/cu29_log/index.html +++ b/cu29_log/index.html @@ -1,2 +1,2 @@ -cu29_log - Rust

Crate cu29_log

Source

Structs§

CuLogEntry
This is the basic structure for a log entry in Copper.

Constants§

ANONYMOUS
MAX_LOG_PARAMS_ON_STACK

Functions§

default_log_index_dir
Convenience function to returns the default path for the log index directory.
format_logline
Text log line formatter.
rebuild_logline
Rebuild a log line from the interned strings and the CuLogEntry. +cu29_log - Rust

Crate cu29_log

Source

Structs§

CuLogEntry
This is the basic structure for a log entry in Copper.

Constants§

ANONYMOUS
MAX_LOG_PARAMS_ON_STACK

Functions§

default_log_index_dir
Convenience function to returns the default path for the log index directory.
format_logline
Text log line formatter.
rebuild_logline
Rebuild a log line from the interned strings and the CuLogEntry. This basically translates the world of copper logs to text logs.
\ No newline at end of file diff --git a/cu29_log/struct.CuLogEntry.html b/cu29_log/struct.CuLogEntry.html index b1c45618d..8b9f370c4 100644 --- a/cu29_log/struct.CuLogEntry.html +++ b/cu29_log/struct.CuLogEntry.html @@ -1,4 +1,4 @@ -CuLogEntry in cu29_log - Rust
cu29_log

Struct CuLogEntry

Source
pub struct CuLogEntry {
+CuLogEntry in cu29_log - Rust

Struct CuLogEntry

Source
pub struct CuLogEntry {
     pub time: CuTime,
     pub msg_index: u32,
     pub paramname_indexes: SmallVec<[u32; 10]>,
diff --git a/cu29_log_derive/all.html b/cu29_log_derive/all.html
index 2164de4c7..abe3697ff 100644
--- a/cu29_log_derive/all.html
+++ b/cu29_log_derive/all.html
@@ -1 +1 @@
-List of all items in this crate

List of all items

Macros

\ No newline at end of file +List of all items in this crate

List of all items

Macros

\ No newline at end of file diff --git a/cu29_log_derive/index.html b/cu29_log_derive/index.html index 7d209a36e..c771bfdfa 100644 --- a/cu29_log_derive/index.html +++ b/cu29_log_derive/index.html @@ -1,4 +1,4 @@ -cu29_log_derive - Rust

Crate cu29_log_derive

Source

Macros§

debug
This macro is used to log a message with parameters. +cu29_log_derive - Rust

Crate cu29_log_derive

Source

Macros§

debug
This macro is used to log a message with parameters. The first parameter is a string literal that represents the message to be logged. Only {} is supported as a placeholder for parameters. The rest of the parameters are the values to be logged. diff --git a/cu29_log_derive/macro.debug.html b/cu29_log_derive/macro.debug.html index 3bf764433..1e92ac7ad 100644 --- a/cu29_log_derive/macro.debug.html +++ b/cu29_log_derive/macro.debug.html @@ -1,4 +1,4 @@ -debug in cu29_log_derive - Rust
cu29_log_derive

Macro debug

Source
debug!() { /* proc-macro */ }
Expand description

This macro is used to log a message with parameters. +debug in cu29_log_derive - Rust

Macro debug

Source
debug!() { /* proc-macro */ }
Expand description

This macro is used to log a message with parameters. The first parameter is a string literal that represents the message to be logged. Only {} is supported as a placeholder for parameters. The rest of the parameters are the values to be logged. diff --git a/cu29_log_runtime/all.html b/cu29_log_runtime/all.html index 6e9fd9fa8..f9563f66b 100644 --- a/cu29_log_runtime/all.html +++ b/cu29_log_runtime/all.html @@ -1 +1 @@ -List of all items in this crate

\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/cu29_log_runtime/fn.log.html b/cu29_log_runtime/fn.log.html index 41b194cfc..ecfbe244a 100644 --- a/cu29_log_runtime/fn.log.html +++ b/cu29_log_runtime/fn.log.html @@ -1,3 +1,3 @@ -log in cu29_log_runtime - Rust
cu29_log_runtime

Function log

Source
pub fn log(entry: &mut CuLogEntry) -> CuResult<()>
Expand description

Function called from generated code to log data. +log in cu29_log_runtime - Rust

Function log

Source
pub fn log(entry: &mut CuLogEntry) -> CuResult<()>
Expand description

Function called from generated code to log data. It moves entry by design, it will be absorbed in the queue.

\ No newline at end of file diff --git a/cu29_log_runtime/fn.log_debug_mode.html b/cu29_log_runtime/fn.log_debug_mode.html index c2decd6a4..7f9d86868 100644 --- a/cu29_log_runtime/fn.log_debug_mode.html +++ b/cu29_log_runtime/fn.log_debug_mode.html @@ -1,4 +1,4 @@ -log_debug_mode in cu29_log_runtime - Rust
cu29_log_runtime

Function log_debug_mode

Source
pub fn log_debug_mode(
+log_debug_mode in cu29_log_runtime - Rust

Function log_debug_mode

Source
pub fn log_debug_mode(
     entry: &mut CuLogEntry,
     format_str: &str,
     param_names: &[&str],
diff --git a/cu29_log_runtime/index.html b/cu29_log_runtime/index.html
index 474e5a55f..6dcecf217 100644
--- a/cu29_log_runtime/index.html
+++ b/cu29_log_runtime/index.html
@@ -1,3 +1,3 @@
-cu29_log_runtime - Rust

Crate cu29_log_runtime

Source

Structs§

LoggerRuntime
The lifetime of this struct is the lifetime of the logger.
NullLog
OwningIoWriter
SimpleFileWriter
This allows this crate to be used outside of Copper (ie. decoupling it from the unifiedlog.

Statics§

EXTRA_TEXT_LOGGER

Functions§

log
Function called from generated code to log data. +cu29_log_runtime - Rust

Crate cu29_log_runtime

Source

Structs§

LoggerRuntime
The lifetime of this struct is the lifetime of the logger.
NullLog
OwningIoWriter
SimpleFileWriter
This allows this crate to be used outside of Copper (ie. decoupling it from the unifiedlog.

Statics§

EXTRA_TEXT_LOGGER

Functions§

log
Function called from generated code to log data. It moves entry by design, it will be absorbed in the queue.
log_debug_mode
This version of log is only compiled in debug mode This allows a normal logging framework to be bridged.
\ No newline at end of file diff --git a/cu29_log_runtime/static.EXTRA_TEXT_LOGGER.html b/cu29_log_runtime/static.EXTRA_TEXT_LOGGER.html index 67cc61583..e153d528c 100644 --- a/cu29_log_runtime/static.EXTRA_TEXT_LOGGER.html +++ b/cu29_log_runtime/static.EXTRA_TEXT_LOGGER.html @@ -1 +1 @@ -EXTRA_TEXT_LOGGER in cu29_log_runtime - Rust
cu29_log_runtime

Static EXTRA_TEXT_LOGGER

Source
pub static EXTRA_TEXT_LOGGER: RwLock<Option<Box<dyn Log + 'static>>>
\ No newline at end of file +EXTRA_TEXT_LOGGER in cu29_log_runtime - Rust

Static EXTRA_TEXT_LOGGER

Source
pub static EXTRA_TEXT_LOGGER: RwLock<Option<Box<dyn Log + 'static>>>
\ No newline at end of file diff --git a/cu29_log_runtime/struct.LoggerRuntime.html b/cu29_log_runtime/struct.LoggerRuntime.html index 47f9e66d9..d51b0f9e9 100644 --- a/cu29_log_runtime/struct.LoggerRuntime.html +++ b/cu29_log_runtime/struct.LoggerRuntime.html @@ -1,4 +1,4 @@ -LoggerRuntime in cu29_log_runtime - Rust
cu29_log_runtime

Struct LoggerRuntime

Source
pub struct LoggerRuntime {}
Expand description

The lifetime of this struct is the lifetime of the logger.

+LoggerRuntime in cu29_log_runtime - Rust

Struct LoggerRuntime

Source
pub struct LoggerRuntime {}
Expand description

The lifetime of this struct is the lifetime of the logger.

Implementations§

Source§

impl LoggerRuntime

Source

pub fn init( clock: RobotClock, destination: impl WriteStream<CuLogEntry> + 'static, diff --git a/cu29_log_runtime/struct.NullLog.html b/cu29_log_runtime/struct.NullLog.html index bf304872e..31800a88c 100644 --- a/cu29_log_runtime/struct.NullLog.html +++ b/cu29_log_runtime/struct.NullLog.html @@ -1,4 +1,4 @@ -NullLog in cu29_log_runtime - Rust
cu29_log_runtime

Struct NullLog

Source
pub struct NullLog;

Trait Implementations§

Source§

impl Log for NullLog

Source§

fn enabled(&self, _metadata: &Metadata<'_>) -> bool

Determines if a log message with the specified metadata would be +NullLog in cu29_log_runtime - Rust

Struct NullLog

Source
pub struct NullLog;

Trait Implementations§

Source§

impl Log for NullLog

Source§

fn enabled(&self, _metadata: &Metadata<'_>) -> bool

Determines if a log message with the specified metadata would be logged. Read more
Source§

fn log(&self, _record: &Record<'_>)

Logs the Record. Read more
Source§

fn flush(&self)

Flushes any buffered records. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where diff --git a/cu29_log_runtime/struct.OwningIoWriter.html b/cu29_log_runtime/struct.OwningIoWriter.html index ec930b2cb..8bb3d1e74 100644 --- a/cu29_log_runtime/struct.OwningIoWriter.html +++ b/cu29_log_runtime/struct.OwningIoWriter.html @@ -1,4 +1,4 @@ -OwningIoWriter in cu29_log_runtime - Rust
cu29_log_runtime

Struct OwningIoWriter

Source
pub struct OwningIoWriter<W: Write> { /* private fields */ }

Implementations§

Source§

impl<W: Write> OwningIoWriter<W>

Source

pub fn new(writer: W) -> Self

Source

pub fn bytes_written(&self) -> usize

Source

pub fn flush(&mut self) -> Result<(), EncodeError>

Trait Implementations§

Source§

impl<W: Write> Writer for OwningIoWriter<W>

Source§

fn write(&mut self, bytes: &[u8]) -> Result<(), EncodeError>

Write bytes to the underlying writer. Exactly bytes.len() bytes must be written, or else an error should be returned.

Auto Trait Implementations§

§

impl<W> Freeze for OwningIoWriter<W>
where +OwningIoWriter in cu29_log_runtime - Rust

Struct OwningIoWriter

Source
pub struct OwningIoWriter<W: Write> { /* private fields */ }

Implementations§

Source§

impl<W: Write> OwningIoWriter<W>

Source

pub fn new(writer: W) -> Self

Source

pub fn bytes_written(&self) -> usize

Source

pub fn flush(&mut self) -> Result<(), EncodeError>

Trait Implementations§

Source§

impl<W: Write> Writer for OwningIoWriter<W>

Source§

fn write(&mut self, bytes: &[u8]) -> Result<(), EncodeError>

Write bytes to the underlying writer. Exactly bytes.len() bytes must be written, or else an error should be returned.

Auto Trait Implementations§

§

impl<W> Freeze for OwningIoWriter<W>
where W: Freeze,

§

impl<W> RefUnwindSafe for OwningIoWriter<W>
where W: RefUnwindSafe,

§

impl<W> Send for OwningIoWriter<W>
where W: Send,

§

impl<W> Sync for OwningIoWriter<W>
where diff --git a/cu29_log_runtime/struct.SimpleFileWriter.html b/cu29_log_runtime/struct.SimpleFileWriter.html index 8e0020c18..15d6e96b7 100644 --- a/cu29_log_runtime/struct.SimpleFileWriter.html +++ b/cu29_log_runtime/struct.SimpleFileWriter.html @@ -1,4 +1,4 @@ -SimpleFileWriter in cu29_log_runtime - Rust
cu29_log_runtime

Struct SimpleFileWriter

Source
pub struct SimpleFileWriter { /* private fields */ }
Expand description

This allows this crate to be used outside of Copper (ie. decoupling it from the unifiedlog.

+SimpleFileWriter in cu29_log_runtime - Rust

Struct SimpleFileWriter

Source
pub struct SimpleFileWriter { /* private fields */ }
Expand description

This allows this crate to be used outside of Copper (ie. decoupling it from the unifiedlog.

Implementations§

Source§

impl SimpleFileWriter

Source

pub fn new(path: &PathBuf) -> CuResult<Self>

Trait Implementations§

Source§

impl Debug for SimpleFileWriter

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl WriteStream<CuLogEntry> for SimpleFileWriter

Source§

fn log(&mut self, obj: &CuLogEntry) -> CuResult<()>

Source§

fn flush(&mut self) -> CuResult<()>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where diff --git a/cu29_rendercfg/all.html b/cu29_rendercfg/all.html index a2b2e0764..39d279c8a 100644 --- a/cu29_rendercfg/all.html +++ b/cu29_rendercfg/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/cu29_rendercfg/config/fn.default_as_true.html b/cu29_rendercfg/config/fn.default_as_true.html index 88cb43de1..43805a1bf 100644 --- a/cu29_rendercfg/config/fn.default_as_true.html +++ b/cu29_rendercfg/config/fn.default_as_true.html @@ -1 +1 @@ -default_as_true in cu29_rendercfg::config - Rust
cu29_rendercfg::config

Function default_as_true

Source
fn default_as_true() -> bool
\ No newline at end of file +default_as_true in cu29_rendercfg::config - Rust

Function default_as_true

Source
fn default_as_true() -> bool
\ No newline at end of file diff --git a/cu29_rendercfg/config/fn.read_configuration.html b/cu29_rendercfg/config/fn.read_configuration.html index f354a1cda..baf2ea85f 100644 --- a/cu29_rendercfg/config/fn.read_configuration.html +++ b/cu29_rendercfg/config/fn.read_configuration.html @@ -1,2 +1,2 @@ -read_configuration in cu29_rendercfg::config - Rust
cu29_rendercfg::config

Function read_configuration

Source
pub fn read_configuration(config_filename: &str) -> CuResult<CuConfig>
Expand description

Read a copper configuration from a file.

+read_configuration in cu29_rendercfg::config - Rust

Function read_configuration

Source
pub fn read_configuration(config_filename: &str) -> CuResult<CuConfig>
Expand description

Read a copper configuration from a file.

\ No newline at end of file diff --git a/cu29_rendercfg/config/fn.read_configuration_str.html b/cu29_rendercfg/config/fn.read_configuration_str.html index dad2d701f..849a3285a 100644 --- a/cu29_rendercfg/config/fn.read_configuration_str.html +++ b/cu29_rendercfg/config/fn.read_configuration_str.html @@ -1,2 +1,2 @@ -read_configuration_str in cu29_rendercfg::config - Rust
cu29_rendercfg::config

Function read_configuration_str

Source
pub fn read_configuration_str(config_content: String) -> CuResult<CuConfig>
Expand description

Read a copper configuration from a String.

+read_configuration_str in cu29_rendercfg::config - Rust

Function read_configuration_str

Source
pub fn read_configuration_str(config_content: String) -> CuResult<CuConfig>
Expand description

Read a copper configuration from a String.

\ No newline at end of file diff --git a/cu29_rendercfg/config/index.html b/cu29_rendercfg/config/index.html index 9c90c987c..6be25e638 100644 --- a/cu29_rendercfg/config/index.html +++ b/cu29_rendercfg/config/index.html @@ -1,4 +1,4 @@ -cu29_rendercfg::config - Rust
cu29_rendercfg

Module config

Source
Expand description

This module defines the configuration of the copper runtime. +cu29_rendercfg::config - Rust

Module config

Source
Expand description

This module defines the configuration of the copper runtime. The configuration is a directed graph where nodes are tasks and edges are connections between tasks. The configuration is serialized in the RON format. The configuration is used to generate the runtime code at compile time.

diff --git a/cu29_rendercfg/config/struct.Cnx.html b/cu29_rendercfg/config/struct.Cnx.html index a471e6ef5..6099eafc6 100644 --- a/cu29_rendercfg/config/struct.Cnx.html +++ b/cu29_rendercfg/config/struct.Cnx.html @@ -1,4 +1,4 @@ -Cnx in cu29_rendercfg::config - Rust
cu29_rendercfg::config

Struct Cnx

Source
pub struct Cnx {
+Cnx in cu29_rendercfg::config - Rust

Struct Cnx

Source
pub struct Cnx {
     src: String,
     dst: String,
     pub msg: String,
diff --git a/cu29_rendercfg/config/struct.ComponentConfig.html b/cu29_rendercfg/config/struct.ComponentConfig.html
index 73d4f059d..e5321809c 100644
--- a/cu29_rendercfg/config/struct.ComponentConfig.html
+++ b/cu29_rendercfg/config/struct.ComponentConfig.html
@@ -1,4 +1,4 @@
-ComponentConfig in cu29_rendercfg::config - Rust
cu29_rendercfg::config

Struct ComponentConfig

Source
pub struct ComponentConfig(pub HashMap<String, Value>);
Expand description

This is the configuration of a component (like a task config or a monitoring config):w +ComponentConfig in cu29_rendercfg::config - Rust

Struct ComponentConfig

Source
pub struct ComponentConfig(pub HashMap<String, Value>);
Expand description

This is the configuration of a component (like a task config or a monitoring config):w It is a map of key-value pairs. It is given to the new method of the task implementation.

Tuple Fields§

§0: HashMap<String, Value>

Implementations§

Source§

impl ComponentConfig

Source

pub fn new() -> Self

Source

pub fn get<T: From<Value>>(&self, key: &str) -> Option<T>

Source

pub fn set<T: Into<Value>>(&mut self, key: &str, value: T)

Trait Implementations§

Source§

impl Clone for ComponentConfig

Source§

fn clone(&self) -> ComponentConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ComponentConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ComponentConfig

Source§

fn default() -> ComponentConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for ComponentConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where diff --git a/cu29_rendercfg/config/struct.CuConfig.html b/cu29_rendercfg/config/struct.CuConfig.html index 520f48169..fe42bba1d 100644 --- a/cu29_rendercfg/config/struct.CuConfig.html +++ b/cu29_rendercfg/config/struct.CuConfig.html @@ -1,4 +1,4 @@ -CuConfig in cu29_rendercfg::config - Rust
cu29_rendercfg::config

Struct CuConfig

Source
pub struct CuConfig {
+CuConfig in cu29_rendercfg::config - Rust

Struct CuConfig

Source
pub struct CuConfig {
     pub graph: StableDiGraph<Node, Cnx, u32>,
     pub monitor: Option<MonitorConfig>,
     pub logging: Option<LoggingConfig>,
diff --git a/cu29_rendercfg/config/struct.CuConfigRepresentation.html b/cu29_rendercfg/config/struct.CuConfigRepresentation.html
index bc3f71278..24ffec31f 100644
--- a/cu29_rendercfg/config/struct.CuConfigRepresentation.html
+++ b/cu29_rendercfg/config/struct.CuConfigRepresentation.html
@@ -1,4 +1,4 @@
-CuConfigRepresentation in cu29_rendercfg::config - Rust
cu29_rendercfg::config

Struct CuConfigRepresentation

Source
struct CuConfigRepresentation {
+CuConfigRepresentation in cu29_rendercfg::config - Rust

Struct CuConfigRepresentation

Source
struct CuConfigRepresentation {
     tasks: Vec<Node>,
     cnx: Vec<Cnx>,
     monitor: Option<MonitorConfig>,
diff --git a/cu29_rendercfg/config/struct.LoggingConfig.html b/cu29_rendercfg/config/struct.LoggingConfig.html
index e2637af4e..2f99a66bc 100644
--- a/cu29_rendercfg/config/struct.LoggingConfig.html
+++ b/cu29_rendercfg/config/struct.LoggingConfig.html
@@ -1,4 +1,4 @@
-LoggingConfig in cu29_rendercfg::config - Rust
cu29_rendercfg::config

Struct LoggingConfig

Source
pub struct LoggingConfig {
+LoggingConfig in cu29_rendercfg::config - Rust

Struct LoggingConfig

Source
pub struct LoggingConfig {
     pub slab_size_mib: Option<u64>,
     pub section_size_mib: Option<u64>,
     pub enable_task_logging: bool,
diff --git a/cu29_rendercfg/config/struct.MonitorConfig.html b/cu29_rendercfg/config/struct.MonitorConfig.html
index 1113cd5f7..2da36d4c8 100644
--- a/cu29_rendercfg/config/struct.MonitorConfig.html
+++ b/cu29_rendercfg/config/struct.MonitorConfig.html
@@ -1,4 +1,4 @@
-MonitorConfig in cu29_rendercfg::config - Rust
cu29_rendercfg::config

Struct MonitorConfig

Source
pub struct MonitorConfig {
+MonitorConfig in cu29_rendercfg::config - Rust

Struct MonitorConfig

Source
pub struct MonitorConfig {
     type_: String,
     config: Option<ComponentConfig>,
 }

Fields§

§type_: String§config: Option<ComponentConfig>

Implementations§

Trait Implementations§

Source§

impl Clone for MonitorConfig

Source§

fn clone(&self) -> MonitorConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MonitorConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MonitorConfig

Source§

fn default() -> MonitorConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for MonitorConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where diff --git a/cu29_rendercfg/config/struct.Node.html b/cu29_rendercfg/config/struct.Node.html index f9b5373f8..a6f539951 100644 --- a/cu29_rendercfg/config/struct.Node.html +++ b/cu29_rendercfg/config/struct.Node.html @@ -1,4 +1,4 @@ -Node in cu29_rendercfg::config - Rust
cu29_rendercfg::config

Struct Node

Source
pub struct Node {
+Node in cu29_rendercfg::config - Rust

Struct Node

Source
pub struct Node {
     id: String,
     type_: Option<String>,
     config: Option<ComponentConfig>,
diff --git a/cu29_rendercfg/config/struct.Value.html b/cu29_rendercfg/config/struct.Value.html
index 5900b394c..f541696b9 100644
--- a/cu29_rendercfg/config/struct.Value.html
+++ b/cu29_rendercfg/config/struct.Value.html
@@ -1,4 +1,4 @@
-Value in cu29_rendercfg::config - Rust
cu29_rendercfg::config

Struct Value

Source
pub struct Value(Value);
Expand description

Wrapper around the ron::Value to allow for custom serialization.

+Value in cu29_rendercfg::config - Rust

Struct Value

Source
pub struct Value(Value);
Expand description

Wrapper around the ron::Value to allow for custom serialization.

Tuple Fields§

§0: Value

Trait Implementations§

Source§

impl Clone for Value

Source§

fn clone(&self) -> Value

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Value

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Value

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for Value

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<String> for Value

Source§

fn from(value: String) -> Self

Converts to this type from the input type.
Source§

impl From<Value> for String

Source§

fn from(value: Value) -> Self

Converts to this type from the input type.
Source§

impl From<Value> for bool

Source§

fn from(value: Value) -> Self

Converts to this type from the input type.
Source§

impl From<Value> for f64

Source§

fn from(value: Value) -> Self

Converts to this type from the input type.
Source§

impl From<Value> for i32

Source§

fn from(value: Value) -> Self

Converts to this type from the input type.
Source§

impl From<Value> for u32

Source§

fn from(value: Value) -> Self

Converts to this type from the input type.
Source§

impl From<Value> for u8

Source§

fn from(value: Value) -> Self

Converts to this type from the input type.
Source§

impl From<f64> for Value

Source§

fn from(value: f64) -> Self

Converts to this type from the input type.
Source§

impl From<i32> for Value

Source§

fn from(value: i32) -> Self

Converts to this type from the input type.
Source§

impl From<u16> for Value

Source§

fn from(value: u16) -> Self

Converts to this type from the input type.
Source§

impl From<u32> for Value

Source§

fn from(value: u32) -> Self

Converts to this type from the input type.
Source§

impl From<u8> for Value

Source§

fn from(value: u8) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Value

Source§

fn eq(&self, other: &Value) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Value

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where diff --git a/cu29_rendercfg/config/type.NodeId.html b/cu29_rendercfg/config/type.NodeId.html index 971371c8b..b02bda673 100644 --- a/cu29_rendercfg/config/type.NodeId.html +++ b/cu29_rendercfg/config/type.NodeId.html @@ -1,3 +1,3 @@ -NodeId in cu29_rendercfg::config - Rust
cu29_rendercfg::config

Type Alias NodeId

Source
pub type NodeId = u32;
Expand description

NodeId is the unique identifier of a node in the configuration graph for petgraph +NodeId in cu29_rendercfg::config - Rust

Type Alias NodeId

Source
pub type NodeId = u32;
Expand description

NodeId is the unique identifier of a node in the configuration graph for petgraph and the code generation.

\ No newline at end of file diff --git a/cu29_rendercfg/enum.UnifiedLogType.html b/cu29_rendercfg/enum.UnifiedLogType.html index 485da6373..7d1e962c2 100644 --- a/cu29_rendercfg/enum.UnifiedLogType.html +++ b/cu29_rendercfg/enum.UnifiedLogType.html @@ -1,4 +1,4 @@ -UnifiedLogType in cu29_rendercfg - Rust
cu29_rendercfg

Enum UnifiedLogType

pub enum UnifiedLogType {
+UnifiedLogType in cu29_rendercfg - Rust

Enum UnifiedLogType

pub enum UnifiedLogType {
     Empty,
     StructuredLogLine,
     CopperList,
diff --git a/cu29_rendercfg/fn.main.html b/cu29_rendercfg/fn.main.html
index 07b9f6c26..9eb70777a 100644
--- a/cu29_rendercfg/fn.main.html
+++ b/cu29_rendercfg/fn.main.html
@@ -1,2 +1,2 @@
-main in cu29_rendercfg - Rust
cu29_rendercfg

Function main

Source
pub(crate) fn main() -> Result<()>
Expand description

Render the configuration file to a dot file then convert it to an SVG and optionally opens it with inkscape.

+main in cu29_rendercfg - Rust

Function main

Source
pub(crate) fn main() -> Result<()>
Expand description

Render the configuration file to a dot file then convert it to an SVG and optionally opens it with inkscape.

\ No newline at end of file diff --git a/cu29_rendercfg/index.html b/cu29_rendercfg/index.html index 12831afdc..2d70ed730 100644 --- a/cu29_rendercfg/index.html +++ b/cu29_rendercfg/index.html @@ -1,4 +1,4 @@ -cu29_rendercfg - Rust

Crate cu29_rendercfg

Source

Modules§

config 🔒
This module defines the configuration of the copper runtime. +cu29_rendercfg - Rust

Crate cu29_rendercfg

Source

Modules§

config 🔒
This module defines the configuration of the copper runtime. The configuration is a directed graph where nodes are tasks and edges are connections between tasks. The configuration is serialized in the RON format. The configuration is used to generate the runtime code at compile time.

Structs§

Args 🔒
CuError
Common copper Error type.

Enums§

UnifiedLogType
Defines the types of what can be logged in the unified logger.

Traits§

CopperListTuple
A CopperListTuple needs to be encodable, decodable and fixed size in memory.
WriteStream
Defines a basic write, append only stream trait to be able to log or send serializable objects.

Functions§

main 🔒
Render the configuration file to a dot file then convert it to an SVG and optionally opens it with inkscape.

Type Aliases§

CuResult
\ No newline at end of file diff --git a/cu29_rendercfg/struct.Args.html b/cu29_rendercfg/struct.Args.html index e238ad13f..d6624644c 100644 --- a/cu29_rendercfg/struct.Args.html +++ b/cu29_rendercfg/struct.Args.html @@ -1,4 +1,4 @@ -Args in cu29_rendercfg - Rust
cu29_rendercfg

Struct Args

Source
pub(crate) struct Args {
+Args in cu29_rendercfg - Rust

Struct Args

Source
pub(crate) struct Args {
     pub(crate) config: PathBuf,
     pub(crate) open: bool,
 }

Fields§

§config: PathBuf

Config file name

diff --git a/cu29_rendercfg/struct.CuError.html b/cu29_rendercfg/struct.CuError.html index 91d5e19cd..8f071f907 100644 --- a/cu29_rendercfg/struct.CuError.html +++ b/cu29_rendercfg/struct.CuError.html @@ -1,4 +1,4 @@ -CuError in cu29_rendercfg - Rust
cu29_rendercfg

Struct CuError

pub struct CuError {
+CuError in cu29_rendercfg - Rust

Struct CuError

pub struct CuError {
     pub(crate) message: String,
     pub(crate) cause: Option<String>,
 }
Expand description

Common copper Error type.

diff --git a/cu29_rendercfg/trait.CopperListTuple.html b/cu29_rendercfg/trait.CopperListTuple.html index 63e0dd699..8f99bef96 100644 --- a/cu29_rendercfg/trait.CopperListTuple.html +++ b/cu29_rendercfg/trait.CopperListTuple.html @@ -1,4 +1,4 @@ -CopperListTuple in cu29_rendercfg - Rust
cu29_rendercfg

Trait CopperListTuple

pub trait CopperListTuple:
+CopperListTuple in cu29_rendercfg - Rust

Trait CopperListTuple

pub trait CopperListTuple:
     Sized
     + Encode
     + Decode
diff --git a/cu29_rendercfg/trait.WriteStream.html b/cu29_rendercfg/trait.WriteStream.html
index bdfc34d08..91f5f09bb 100644
--- a/cu29_rendercfg/trait.WriteStream.html
+++ b/cu29_rendercfg/trait.WriteStream.html
@@ -1,4 +1,4 @@
-WriteStream in cu29_rendercfg - Rust
cu29_rendercfg

Trait WriteStream

pub trait WriteStream<E>:
+WriteStream in cu29_rendercfg - Rust

Trait WriteStream

pub trait WriteStream<E>:
     Sync
     + Send
     + Debug
where diff --git a/cu29_rendercfg/type.CuResult.html b/cu29_rendercfg/type.CuResult.html index a585088f3..80bc07941 100644 --- a/cu29_rendercfg/type.CuResult.html +++ b/cu29_rendercfg/type.CuResult.html @@ -1,4 +1,4 @@ -CuResult in cu29_rendercfg - Rust
cu29_rendercfg

Type Alias CuResult

pub type CuResult<T> = Result<T, CuError>;

Aliased Type§

enum CuResult<T> {
+CuResult in cu29_rendercfg - Rust

Type Alias CuResult

pub type CuResult<T> = Result<T, CuError>;

Aliased Type§

enum CuResult<T> {
     Ok(T),
     Err(CuError),
 }

Variants§

§1.0.0

Ok(T)

Contains the success value

diff --git a/cu29_runtime/all.html b/cu29_runtime/all.html index 75bb1aaf1..887f2014a 100644 --- a/cu29_runtime/all.html +++ b/cu29_runtime/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/cu29_runtime/config/fn.read_configuration.html b/cu29_runtime/config/fn.read_configuration.html index d58deb78f..172040f4b 100644 --- a/cu29_runtime/config/fn.read_configuration.html +++ b/cu29_runtime/config/fn.read_configuration.html @@ -1,2 +1,2 @@ -read_configuration in cu29_runtime::config - Rust
cu29_runtime::config

Function read_configuration

Source
pub fn read_configuration(config_filename: &str) -> CuResult<CuConfig>
Expand description

Read a copper configuration from a file.

+read_configuration in cu29_runtime::config - Rust

Function read_configuration

Source
pub fn read_configuration(config_filename: &str) -> CuResult<CuConfig>
Expand description

Read a copper configuration from a file.

\ No newline at end of file diff --git a/cu29_runtime/config/fn.read_configuration_str.html b/cu29_runtime/config/fn.read_configuration_str.html index 28645c00c..45c99f759 100644 --- a/cu29_runtime/config/fn.read_configuration_str.html +++ b/cu29_runtime/config/fn.read_configuration_str.html @@ -1,2 +1,2 @@ -read_configuration_str in cu29_runtime::config - Rust
cu29_runtime::config

Function read_configuration_str

Source
pub fn read_configuration_str(config_content: String) -> CuResult<CuConfig>
Expand description

Read a copper configuration from a String.

+read_configuration_str in cu29_runtime::config - Rust

Function read_configuration_str

Source
pub fn read_configuration_str(config_content: String) -> CuResult<CuConfig>
Expand description

Read a copper configuration from a String.

\ No newline at end of file diff --git a/cu29_runtime/config/index.html b/cu29_runtime/config/index.html index 3af88d3b6..a686a2e89 100644 --- a/cu29_runtime/config/index.html +++ b/cu29_runtime/config/index.html @@ -1,4 +1,4 @@ -cu29_runtime::config - Rust
cu29_runtime

Module config

Source
Expand description

This module defines the configuration of the copper runtime. +cu29_runtime::config - Rust

Module config

Source
Expand description

This module defines the configuration of the copper runtime. The configuration is a directed graph where nodes are tasks and edges are connections between tasks. The configuration is serialized in the RON format. The configuration is used to generate the runtime code at compile time.

diff --git a/cu29_runtime/config/struct.Cnx.html b/cu29_runtime/config/struct.Cnx.html index 919763df6..606cddb5d 100644 --- a/cu29_runtime/config/struct.Cnx.html +++ b/cu29_runtime/config/struct.Cnx.html @@ -1,4 +1,4 @@ -Cnx in cu29_runtime::config - Rust
cu29_runtime::config

Struct Cnx

Source
pub struct Cnx {
+Cnx in cu29_runtime::config - Rust

Struct Cnx

Source
pub struct Cnx {
     pub msg: String,
     pub batch: Option<u32>,
     pub store: Option<bool>,
diff --git a/cu29_runtime/config/struct.ComponentConfig.html b/cu29_runtime/config/struct.ComponentConfig.html
index 952dbf7a1..2f294a56b 100644
--- a/cu29_runtime/config/struct.ComponentConfig.html
+++ b/cu29_runtime/config/struct.ComponentConfig.html
@@ -1,4 +1,4 @@
-ComponentConfig in cu29_runtime::config - Rust
cu29_runtime::config

Struct ComponentConfig

Source
pub struct ComponentConfig(pub HashMap<String, Value>);
Expand description

This is the configuration of a component (like a task config or a monitoring config):w +ComponentConfig in cu29_runtime::config - Rust

Struct ComponentConfig

Source
pub struct ComponentConfig(pub HashMap<String, Value>);
Expand description

This is the configuration of a component (like a task config or a monitoring config):w It is a map of key-value pairs. It is given to the new method of the task implementation.

Tuple Fields§

§0: HashMap<String, Value>

Implementations§

Source§

impl ComponentConfig

Source

pub fn new() -> Self

Source

pub fn get<T: From<Value>>(&self, key: &str) -> Option<T>

Source

pub fn set<T: Into<Value>>(&mut self, key: &str, value: T)

Trait Implementations§

Source§

impl Clone for ComponentConfig

Source§

fn clone(&self) -> ComponentConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ComponentConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ComponentConfig

Source§

fn default() -> ComponentConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for ComponentConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where diff --git a/cu29_runtime/config/struct.CuConfig.html b/cu29_runtime/config/struct.CuConfig.html index 88ccd79c1..9105a0b32 100644 --- a/cu29_runtime/config/struct.CuConfig.html +++ b/cu29_runtime/config/struct.CuConfig.html @@ -1,4 +1,4 @@ -CuConfig in cu29_runtime::config - Rust
cu29_runtime::config

Struct CuConfig

Source
pub struct CuConfig {
+CuConfig in cu29_runtime::config - Rust

Struct CuConfig

Source
pub struct CuConfig {
     pub graph: StableDiGraph<Node, Cnx, NodeId>,
     pub monitor: Option<MonitorConfig>,
     pub logging: Option<LoggingConfig>,
diff --git a/cu29_runtime/config/struct.LoggingConfig.html b/cu29_runtime/config/struct.LoggingConfig.html
index 16b0ebb6f..28d587e93 100644
--- a/cu29_runtime/config/struct.LoggingConfig.html
+++ b/cu29_runtime/config/struct.LoggingConfig.html
@@ -1,4 +1,4 @@
-LoggingConfig in cu29_runtime::config - Rust
cu29_runtime::config

Struct LoggingConfig

Source
pub struct LoggingConfig {
+LoggingConfig in cu29_runtime::config - Rust

Struct LoggingConfig

Source
pub struct LoggingConfig {
     pub slab_size_mib: Option<u64>,
     pub section_size_mib: Option<u64>,
     pub enable_task_logging: bool,
diff --git a/cu29_runtime/config/struct.MonitorConfig.html b/cu29_runtime/config/struct.MonitorConfig.html
index 8a88c7272..1c9d29fe7 100644
--- a/cu29_runtime/config/struct.MonitorConfig.html
+++ b/cu29_runtime/config/struct.MonitorConfig.html
@@ -1,4 +1,4 @@
-MonitorConfig in cu29_runtime::config - Rust
cu29_runtime::config

Struct MonitorConfig

Source
pub struct MonitorConfig { /* private fields */ }

Implementations§

Trait Implementations§

Source§

impl Clone for MonitorConfig

Source§

fn clone(&self) -> MonitorConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MonitorConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MonitorConfig

Source§

fn default() -> MonitorConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for MonitorConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where +MonitorConfig in cu29_runtime::config - Rust

Struct MonitorConfig

Source
pub struct MonitorConfig { /* private fields */ }

Implementations§

Trait Implementations§

Source§

impl Clone for MonitorConfig

Source§

fn clone(&self) -> MonitorConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MonitorConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MonitorConfig

Source§

fn default() -> MonitorConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for MonitorConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for MonitorConfig

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where diff --git a/cu29_runtime/config/struct.Node.html b/cu29_runtime/config/struct.Node.html index 1e1777472..a674544be 100644 --- a/cu29_runtime/config/struct.Node.html +++ b/cu29_runtime/config/struct.Node.html @@ -1,4 +1,4 @@ -Node in cu29_runtime::config - Rust
cu29_runtime::config

Struct Node

Source
pub struct Node { /* private fields */ }
Expand description

A node in the configuration graph. +Node in cu29_runtime::config - Rust

Struct Node

Source
pub struct Node { /* private fields */ }
Expand description

A node in the configuration graph. A node represents a Task in the system Graph.

Implementations§

Source§

impl Node

Source

pub fn new(id: &str, ptype: &str) -> Self

Source

pub fn get_id(&self) -> String

Source

pub fn set_type(self, name: Option<String>) -> Self

Source

pub fn get_type(&self) -> &str

Source

pub fn get_instance_config(&self) -> Option<&ComponentConfig>

Source

pub fn get_param<T: From<Value>>(&self, key: &str) -> Option<T>

Source

pub fn set_param<T: Into<Value>>(&mut self, key: &str, value: T)

Trait Implementations§

Source§

impl Clone for Node

Source§

fn clone(&self) -> Node

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Node

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Node

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Node

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where diff --git a/cu29_runtime/config/struct.Value.html b/cu29_runtime/config/struct.Value.html index c8dd0b9a7..c41812b76 100644 --- a/cu29_runtime/config/struct.Value.html +++ b/cu29_runtime/config/struct.Value.html @@ -1,4 +1,4 @@ -Value in cu29_runtime::config - Rust
cu29_runtime::config

Struct Value

Source
pub struct Value(/* private fields */);
Expand description

Wrapper around the ron::Value to allow for custom serialization.

+Value in cu29_runtime::config - Rust

Struct Value

Source
pub struct Value(/* private fields */);
Expand description

Wrapper around the ron::Value to allow for custom serialization.

Trait Implementations§

Source§

impl Clone for Value

Source§

fn clone(&self) -> Value

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Value

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Value

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for Value

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<String> for Value

Source§

fn from(value: String) -> Self

Converts to this type from the input type.
Source§

impl From<Value> for String

Source§

fn from(value: Value) -> Self

Converts to this type from the input type.
Source§

impl From<Value> for bool

Source§

fn from(value: Value) -> Self

Converts to this type from the input type.
Source§

impl From<Value> for f64

Source§

fn from(value: Value) -> Self

Converts to this type from the input type.
Source§

impl From<Value> for i32

Source§

fn from(value: Value) -> Self

Converts to this type from the input type.
Source§

impl From<Value> for u32

Source§

fn from(value: Value) -> Self

Converts to this type from the input type.
Source§

impl From<Value> for u8

Source§

fn from(value: Value) -> Self

Converts to this type from the input type.
Source§

impl From<f64> for Value

Source§

fn from(value: f64) -> Self

Converts to this type from the input type.
Source§

impl From<i32> for Value

Source§

fn from(value: i32) -> Self

Converts to this type from the input type.
Source§

impl From<u16> for Value

Source§

fn from(value: u16) -> Self

Converts to this type from the input type.
Source§

impl From<u32> for Value

Source§

fn from(value: u32) -> Self

Converts to this type from the input type.
Source§

impl From<u8> for Value

Source§

fn from(value: u8) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Value

Source§

fn eq(&self, other: &Value) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Value

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where diff --git a/cu29_runtime/config/type.NodeId.html b/cu29_runtime/config/type.NodeId.html index d429a2533..0830818a1 100644 --- a/cu29_runtime/config/type.NodeId.html +++ b/cu29_runtime/config/type.NodeId.html @@ -1,3 +1,3 @@ -NodeId in cu29_runtime::config - Rust
cu29_runtime::config

Type Alias NodeId

Source
pub type NodeId = u32;
Expand description

NodeId is the unique identifier of a node in the configuration graph for petgraph +NodeId in cu29_runtime::config - Rust

Type Alias NodeId

Source
pub type NodeId = u32;
Expand description

NodeId is the unique identifier of a node in the configuration graph for petgraph and the code generation.

\ No newline at end of file diff --git a/cu29_runtime/copperlist/enum.CopperListState.html b/cu29_runtime/copperlist/enum.CopperListState.html index f1b909b96..9adc5029a 100644 --- a/cu29_runtime/copperlist/enum.CopperListState.html +++ b/cu29_runtime/copperlist/enum.CopperListState.html @@ -1,4 +1,4 @@ -CopperListState in cu29_runtime::copperlist - Rust
cu29_runtime::copperlist

Enum CopperListState

Source
pub enum CopperListState {
+CopperListState in cu29_runtime::copperlist - Rust

Enum CopperListState

Source
pub enum CopperListState {
     Free,
     Initialized,
     Processing,
diff --git a/cu29_runtime/copperlist/index.html b/cu29_runtime/copperlist/index.html
index ec299da8f..e3f906cbf 100644
--- a/cu29_runtime/copperlist/index.html
+++ b/cu29_runtime/copperlist/index.html
@@ -1,4 +1,4 @@
-cu29_runtime::copperlist - Rust
cu29_runtime

Module copperlist

Source
Expand description

CopperList is the main data structure used by Copper to communicate between tasks. +cu29_runtime::copperlist - Rust

Module copperlist

Source
Expand description

CopperList is the main data structure used by Copper to communicate between tasks. It is a queue that can be used to store preallocated messages between tasks in memory order.

Structs§

CopperLiskMask
Not implemented yet. This mask will be used to for example filter out necessary regions of a copper list between remote systems.
CopperList
CuListsManager
This structure maintains the entire memory needed by Copper for one loop for the inter tasks communication within a process. diff --git a/cu29_runtime/copperlist/struct.CopperLiskMask.html b/cu29_runtime/copperlist/struct.CopperLiskMask.html index b92484a9f..be5703e1b 100644 --- a/cu29_runtime/copperlist/struct.CopperLiskMask.html +++ b/cu29_runtime/copperlist/struct.CopperLiskMask.html @@ -1,4 +1,4 @@ -CopperLiskMask in cu29_runtime::copperlist - Rust
cu29_runtime::copperlist

Struct CopperLiskMask

Source
pub struct CopperLiskMask { /* private fields */ }
Expand description

Not implemented yet. +CopperLiskMask in cu29_runtime::copperlist - Rust

Struct CopperLiskMask

Source
pub struct CopperLiskMask { /* private fields */ }
Expand description

Not implemented yet. This mask will be used to for example filter out necessary regions of a copper list between remote systems.

Trait Implementations§

Source§

impl<'__de> BorrowDecode<'__de> for CopperLiskMask

Source§

fn borrow_decode<__D: BorrowDecoder<'__de>>( decoder: &mut __D, diff --git a/cu29_runtime/copperlist/struct.CopperList.html b/cu29_runtime/copperlist/struct.CopperList.html index 4dfac3966..f83521c84 100644 --- a/cu29_runtime/copperlist/struct.CopperList.html +++ b/cu29_runtime/copperlist/struct.CopperList.html @@ -1,4 +1,4 @@ -CopperList in cu29_runtime::copperlist - Rust
cu29_runtime::copperlist

Struct CopperList

Source
pub struct CopperList<P: CopperListTuple> {
+CopperList in cu29_runtime::copperlist - Rust

Struct CopperList

Source
pub struct CopperList<P: CopperListTuple> {
     pub id: u32,
     pub msgs: P,
     /* private fields */
diff --git a/cu29_runtime/copperlist/struct.CuListsManager.html b/cu29_runtime/copperlist/struct.CuListsManager.html
index cba58e66b..c016d2b66 100644
--- a/cu29_runtime/copperlist/struct.CuListsManager.html
+++ b/cu29_runtime/copperlist/struct.CuListsManager.html
@@ -1,4 +1,4 @@
-CuListsManager in cu29_runtime::copperlist - Rust
cu29_runtime::copperlist

Struct CuListsManager

Source
pub struct CuListsManager<P: CopperListTuple, const N: usize> { /* private fields */ }
Expand description

This structure maintains the entire memory needed by Copper for one loop for the inter tasks communication within a process. +CuListsManager in cu29_runtime::copperlist - Rust

Struct CuListsManager

Source
pub struct CuListsManager<P: CopperListTuple, const N: usize> { /* private fields */ }
Expand description

This structure maintains the entire memory needed by Copper for one loop for the inter tasks communication within a process. P or Payload is typically a Tuple of various types of messages that are exchanged between tasks. N is the maximum number of in flight Copper List the runtime can support.

Implementations§

Source§

impl<P: CopperListTuple, const N: usize> CuListsManager<P, N>

Source

pub fn new() -> Self

Source

pub fn len(&self) -> usize

Returns the current number of elements in the queue.

diff --git a/cu29_runtime/copperlist/type.AscIter.html b/cu29_runtime/copperlist/type.AscIter.html index cc08ffa80..e4dd14b1f 100644 --- a/cu29_runtime/copperlist/type.AscIter.html +++ b/cu29_runtime/copperlist/type.AscIter.html @@ -1 +1 @@ -AscIter in cu29_runtime::copperlist - Rust
cu29_runtime::copperlist

Type Alias AscIter

Source
pub type AscIter<'a, T> = Chain<Iter<'a, T>, Iter<'a, T>>;

Aliased Type§

struct AscIter<'a, T> { /* private fields */ }
\ No newline at end of file +AscIter in cu29_runtime::copperlist - Rust

Type Alias AscIter

Source
pub type AscIter<'a, T> = Chain<Iter<'a, T>, Iter<'a, T>>;

Aliased Type§

struct AscIter<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29_runtime/copperlist/type.AscIterMut.html b/cu29_runtime/copperlist/type.AscIterMut.html index 9a9d020ff..8fd94b7c5 100644 --- a/cu29_runtime/copperlist/type.AscIterMut.html +++ b/cu29_runtime/copperlist/type.AscIterMut.html @@ -1 +1 @@ -AscIterMut in cu29_runtime::copperlist - Rust
cu29_runtime::copperlist

Type Alias AscIterMut

Source
pub type AscIterMut<'a, T> = Chain<IterMut<'a, T>, IterMut<'a, T>>;

Aliased Type§

struct AscIterMut<'a, T> { /* private fields */ }
\ No newline at end of file +AscIterMut in cu29_runtime::copperlist - Rust

Type Alias AscIterMut

Source
pub type AscIterMut<'a, T> = Chain<IterMut<'a, T>, IterMut<'a, T>>;

Aliased Type§

struct AscIterMut<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29_runtime/copperlist/type.Iter.html b/cu29_runtime/copperlist/type.Iter.html index 7ba39da93..6de830e41 100644 --- a/cu29_runtime/copperlist/type.Iter.html +++ b/cu29_runtime/copperlist/type.Iter.html @@ -1 +1 @@ -Iter in cu29_runtime::copperlist - Rust
cu29_runtime::copperlist

Type Alias Iter

Source
pub type Iter<'a, T> = Chain<Rev<Iter<'a, T>>, Rev<Iter<'a, T>>>;

Aliased Type§

struct Iter<'a, T> { /* private fields */ }
\ No newline at end of file +Iter in cu29_runtime::copperlist - Rust

Type Alias Iter

Source
pub type Iter<'a, T> = Chain<Rev<Iter<'a, T>>, Rev<Iter<'a, T>>>;

Aliased Type§

struct Iter<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29_runtime/copperlist/type.IterMut.html b/cu29_runtime/copperlist/type.IterMut.html index d77c1b240..83c0bfae6 100644 --- a/cu29_runtime/copperlist/type.IterMut.html +++ b/cu29_runtime/copperlist/type.IterMut.html @@ -1 +1 @@ -IterMut in cu29_runtime::copperlist - Rust
cu29_runtime::copperlist

Type Alias IterMut

Source
pub type IterMut<'a, T> = Chain<Rev<IterMut<'a, T>>, Rev<IterMut<'a, T>>>;

Aliased Type§

struct IterMut<'a, T> { /* private fields */ }
\ No newline at end of file +IterMut in cu29_runtime::copperlist - Rust

Type Alias IterMut

Source
pub type IterMut<'a, T> = Chain<Rev<IterMut<'a, T>>, Rev<IterMut<'a, T>>>;

Aliased Type§

struct IterMut<'a, T> { /* private fields */ }
\ No newline at end of file diff --git a/cu29_runtime/curuntime/enum.CuExecutionUnit.html b/cu29_runtime/curuntime/enum.CuExecutionUnit.html index 510214329..3721c6a55 100644 --- a/cu29_runtime/curuntime/enum.CuExecutionUnit.html +++ b/cu29_runtime/curuntime/enum.CuExecutionUnit.html @@ -1,4 +1,4 @@ -CuExecutionUnit in cu29_runtime::curuntime - Rust
cu29_runtime::curuntime

Enum CuExecutionUnit

Source
pub enum CuExecutionUnit {
+CuExecutionUnit in cu29_runtime::curuntime - Rust

Enum CuExecutionUnit

Source
pub enum CuExecutionUnit {
     Step(CuExecutionStep),
     Loop(CuExecutionLoop),
 }
Expand description

This structure represents a step in the execution plan.

diff --git a/cu29_runtime/curuntime/enum.CuTaskType.html b/cu29_runtime/curuntime/enum.CuTaskType.html index 618479b5c..b0070e62a 100644 --- a/cu29_runtime/curuntime/enum.CuTaskType.html +++ b/cu29_runtime/curuntime/enum.CuTaskType.html @@ -1,4 +1,4 @@ -CuTaskType in cu29_runtime::curuntime - Rust
cu29_runtime::curuntime

Enum CuTaskType

Source
pub enum CuTaskType {
+CuTaskType in cu29_runtime::curuntime - Rust

Enum CuTaskType

Source
pub enum CuTaskType {
     Source,
     Regular,
     Sink,
diff --git a/cu29_runtime/curuntime/fn.compute_runtime_plan.html b/cu29_runtime/curuntime/fn.compute_runtime_plan.html
index 69f637cfd..c48c55b96 100644
--- a/cu29_runtime/curuntime/fn.compute_runtime_plan.html
+++ b/cu29_runtime/curuntime/fn.compute_runtime_plan.html
@@ -1,3 +1,3 @@
-compute_runtime_plan in cu29_runtime::curuntime - Rust
cu29_runtime::curuntime

Function compute_runtime_plan

Source
pub fn compute_runtime_plan(config: &CuConfig) -> CuResult<CuExecutionLoop>
Expand description

This is the main heuristics to compute an execution plan at compilation time. +compute_runtime_plan in cu29_runtime::curuntime - Rust

Function compute_runtime_plan

Source
pub fn compute_runtime_plan(config: &CuConfig) -> CuResult<CuExecutionLoop>
Expand description

This is the main heuristics to compute an execution plan at compilation time. TODO: Make that heuristic pluggable.

\ No newline at end of file diff --git a/cu29_runtime/curuntime/fn.find_task_type_for_id.html b/cu29_runtime/curuntime/fn.find_task_type_for_id.html index bc80073f9..b1a66fcf1 100644 --- a/cu29_runtime/curuntime/fn.find_task_type_for_id.html +++ b/cu29_runtime/curuntime/fn.find_task_type_for_id.html @@ -1,4 +1,4 @@ -find_task_type_for_id in cu29_runtime::curuntime - Rust
cu29_runtime::curuntime

Function find_task_type_for_id

Source
pub fn find_task_type_for_id(
+find_task_type_for_id in cu29_runtime::curuntime - Rust

Function find_task_type_for_id

Source
pub fn find_task_type_for_id(
     graph: &StableDiGraph<Node, Cnx, NodeId>,
     node_id: NodeId,
 ) -> CuTaskType
\ No newline at end of file diff --git a/cu29_runtime/curuntime/index.html b/cu29_runtime/curuntime/index.html index 03e3cdf3b..c019db0af 100644 --- a/cu29_runtime/curuntime/index.html +++ b/cu29_runtime/curuntime/index.html @@ -1,4 +1,4 @@ -cu29_runtime::curuntime - Rust
cu29_runtime

Module curuntime

Source
Expand description

CuRuntime is the heart of what copper is running on the robot. +cu29_runtime::curuntime - Rust

Module curuntime

Source
Expand description

CuRuntime is the heart of what copper is running on the robot. It is exposed to the user via the copper_runtime macro injecting it as a field in their application struct.

Structs§

CopperContext
Just a simple struct to hold the various bits needed to run a Copper application.
CuExecutionLoop
This structure represents a loop in the execution plan. It is used to represent a sequence of Execution units (loop or steps) that are executed diff --git a/cu29_runtime/curuntime/struct.CopperContext.html b/cu29_runtime/curuntime/struct.CopperContext.html index bb592fdbe..38a531bdf 100644 --- a/cu29_runtime/curuntime/struct.CopperContext.html +++ b/cu29_runtime/curuntime/struct.CopperContext.html @@ -1,4 +1,4 @@ -CopperContext in cu29_runtime::curuntime - Rust
cu29_runtime::curuntime

Struct CopperContext

Source
pub struct CopperContext {
+CopperContext in cu29_runtime::curuntime - Rust

Struct CopperContext

Source
pub struct CopperContext {
     pub unified_logger: Arc<Mutex<UnifiedLoggerWrite>>,
     pub logger_runtime: LoggerRuntime,
     pub clock: RobotClock,
diff --git a/cu29_runtime/curuntime/struct.CuExecutionLoop.html b/cu29_runtime/curuntime/struct.CuExecutionLoop.html
index 75fdaff23..72c4bbe14 100644
--- a/cu29_runtime/curuntime/struct.CuExecutionLoop.html
+++ b/cu29_runtime/curuntime/struct.CuExecutionLoop.html
@@ -1,4 +1,4 @@
-CuExecutionLoop in cu29_runtime::curuntime - Rust
cu29_runtime::curuntime

Struct CuExecutionLoop

Source
pub struct CuExecutionLoop {
+CuExecutionLoop in cu29_runtime::curuntime - Rust

Struct CuExecutionLoop

Source
pub struct CuExecutionLoop {
     pub steps: Vec<CuExecutionUnit>,
     pub loop_count: Option<u32>,
 }
Expand description

This structure represents a loop in the execution plan. diff --git a/cu29_runtime/curuntime/struct.CuExecutionStep.html b/cu29_runtime/curuntime/struct.CuExecutionStep.html index 409a975d3..65bb764a3 100644 --- a/cu29_runtime/curuntime/struct.CuExecutionStep.html +++ b/cu29_runtime/curuntime/struct.CuExecutionStep.html @@ -1,4 +1,4 @@ -CuExecutionStep in cu29_runtime::curuntime - Rust

cu29_runtime::curuntime

Struct CuExecutionStep

Source
pub struct CuExecutionStep {
+CuExecutionStep in cu29_runtime::curuntime - Rust

Struct CuExecutionStep

Source
pub struct CuExecutionStep {
     pub node_id: NodeId,
     pub node: Node,
     pub task_type: CuTaskType,
diff --git a/cu29_runtime/curuntime/struct.CuRuntime.html b/cu29_runtime/curuntime/struct.CuRuntime.html
index 04770894d..a11284700 100644
--- a/cu29_runtime/curuntime/struct.CuRuntime.html
+++ b/cu29_runtime/curuntime/struct.CuRuntime.html
@@ -1,4 +1,4 @@
-CuRuntime in cu29_runtime::curuntime - Rust
cu29_runtime::curuntime

Struct CuRuntime

Source
pub struct CuRuntime<CT, P: CopperListTuple, M: CuMonitor, const NBCL: usize> {
+CuRuntime in cu29_runtime::curuntime - Rust

Struct CuRuntime

Source
pub struct CuRuntime<CT, P: CopperListTuple, M: CuMonitor, const NBCL: usize> {
     pub tasks: CT,
     pub monitor: M,
     pub copper_lists_manager: CuListsManager<P, NBCL>,
diff --git a/cu29_runtime/cutask/index.html b/cu29_runtime/cutask/index.html
index 9809f1f48..57f781c44 100644
--- a/cu29_runtime/cutask/index.html
+++ b/cu29_runtime/cutask/index.html
@@ -1,4 +1,4 @@
-cu29_runtime::cutask - Rust
cu29_runtime

Module cutask

Source
Expand description

This module contains all the main definition of the traits you need to implement +cu29_runtime::cutask - Rust

Module cutask

Source
Expand description

This module contains all the main definition of the traits you need to implement or interact with to create a Copper task.

Structs§

CuCompactString
CuMsg
CuMsg is the envelope holding the msg payload and the metadata between tasks.
CuMsgMetadata
CuMsgMetadata is a structure that contains metadata common to all CuMsgs.

Traits§

CuMsgPack
CuMsgPayload
CuSinkTask
A Sink Task is a task that only consumes messages. For example drivers for actuators are Sink Tasks.
CuSrcTask
A Src Task is a task that only produces messages. For example drivers for sensors are Src Tasks. They are in push mode from the runtime. diff --git a/cu29_runtime/cutask/struct.CuCompactString.html b/cu29_runtime/cutask/struct.CuCompactString.html index 970dc98b6..1c133b2d2 100644 --- a/cu29_runtime/cutask/struct.CuCompactString.html +++ b/cu29_runtime/cutask/struct.CuCompactString.html @@ -1,4 +1,4 @@ -CuCompactString in cu29_runtime::cutask - Rust
cu29_runtime::cutask

Struct CuCompactString

Source
pub struct CuCompactString(pub CompactString);

Tuple Fields§

§0: CompactString

Trait Implementations§

Source§

impl<'de> BorrowDecode<'de> for CuCompactString

Source§

fn borrow_decode<D: BorrowDecoder<'de>>( +CuCompactString in cu29_runtime::cutask - Rust

Struct CuCompactString

Source
pub struct CuCompactString(pub CompactString);

Tuple Fields§

§0: CompactString

Trait Implementations§

Source§

impl<'de> BorrowDecode<'de> for CuCompactString

Source§

fn borrow_decode<D: BorrowDecoder<'de>>( decoder: &mut D, ) -> Result<Self, DecodeError>

Attempt to decode this type with the given BorrowDecode.
Source§

impl Clone for CuCompactString

Source§

fn clone(&self) -> CuCompactString

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CuCompactString

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Decode for CuCompactString

Source§

fn decode<D: Decoder>(decoder: &mut D) -> Result<Self, DecodeError>

Attempt to decode this type with the given Decode.
Source§

impl Default for CuCompactString

Source§

fn default() -> CuCompactString

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for CuCompactString

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Encode for CuCompactString

Source§

fn encode<E: Encoder>(&self, encoder: &mut E) -> Result<(), EncodeError>

Encode a given type.
Source§

impl PartialEq for CuCompactString

Source§

fn eq(&self, other: &CuCompactString) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, diff --git a/cu29_runtime/cutask/struct.CuMsg.html b/cu29_runtime/cutask/struct.CuMsg.html index 963e660be..294356d89 100644 --- a/cu29_runtime/cutask/struct.CuMsg.html +++ b/cu29_runtime/cutask/struct.CuMsg.html @@ -1,4 +1,4 @@ -CuMsg in cu29_runtime::cutask - Rust
cu29_runtime::cutask

Struct CuMsg

Source
pub struct CuMsg<T>
where +CuMsg in cu29_runtime::cutask - Rust

Struct CuMsg

Source
pub struct CuMsg<T>
where T: CuMsgPayload,
{ pub metadata: CuMsgMetadata, /* private fields */ diff --git a/cu29_runtime/cutask/struct.CuMsgMetadata.html b/cu29_runtime/cutask/struct.CuMsgMetadata.html index e8eee94db..8b699bc49 100644 --- a/cu29_runtime/cutask/struct.CuMsgMetadata.html +++ b/cu29_runtime/cutask/struct.CuMsgMetadata.html @@ -1,4 +1,4 @@ -CuMsgMetadata in cu29_runtime::cutask - Rust
cu29_runtime::cutask

Struct CuMsgMetadata

Source
pub struct CuMsgMetadata {
+CuMsgMetadata in cu29_runtime::cutask - Rust

Struct CuMsgMetadata

Source
pub struct CuMsgMetadata {
     pub process_time: PartialCuTimeRange,
     pub tov: Tov,
     pub status_txt: CuCompactString,
diff --git a/cu29_runtime/cutask/trait.CuMsgPack.html b/cu29_runtime/cutask/trait.CuMsgPack.html
index 786c51df5..e86d11f60 100644
--- a/cu29_runtime/cutask/trait.CuMsgPack.html
+++ b/cu29_runtime/cutask/trait.CuMsgPack.html
@@ -1 +1 @@
-CuMsgPack in cu29_runtime::cutask - Rust
cu29_runtime::cutask

Trait CuMsgPack

Source
pub trait CuMsgPack<'cl> { }

Implementations on Foreign Types§

Source§

impl CuMsgPack<'_> for ()

Source§

impl<'cl, T1: CuMsgPayload + 'cl, T2: CuMsgPayload + 'cl> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>)

Source§

impl<'cl, T1: CuMsgPayload + 'cl, T2: CuMsgPayload + 'cl, T3: CuMsgPayload + 'cl> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>, &'cl CuMsg<T3>)

Source§

impl<'cl, T1: CuMsgPayload + 'cl, T2: CuMsgPayload + 'cl, T3: CuMsgPayload + 'cl, T4: CuMsgPayload + 'cl> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>, &'cl CuMsg<T3>, &'cl CuMsg<T4>)

Source§

impl<'cl, T1: CuMsgPayload + 'cl, T2: CuMsgPayload + 'cl, T3: CuMsgPayload + 'cl, T4: CuMsgPayload + 'cl, T5: CuMsgPayload + 'cl> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>, &'cl CuMsg<T3>, &'cl CuMsg<T4>, &'cl CuMsg<T5>)

Source§

impl<'cl, T: CuMsgPayload> CuMsgPack<'cl> for (&'cl CuMsg<T>,)

Source§

impl<'cl, T: CuMsgPayload> CuMsgPack<'cl> for (&'cl mut CuMsg<T>,)

Implementors§

Source§

impl<'cl, T: CuMsgPayload> CuMsgPack<'cl> for &'cl CuMsg<T>

Source§

impl<'cl, T: CuMsgPayload> CuMsgPack<'cl> for &'cl mut CuMsg<T>

\ No newline at end of file +CuMsgPack in cu29_runtime::cutask - Rust

Trait CuMsgPack

Source
pub trait CuMsgPack<'cl> { }

Implementations on Foreign Types§

Source§

impl CuMsgPack<'_> for ()

Source§

impl<'cl, T1: CuMsgPayload + 'cl, T2: CuMsgPayload + 'cl> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>)

Source§

impl<'cl, T1: CuMsgPayload + 'cl, T2: CuMsgPayload + 'cl, T3: CuMsgPayload + 'cl> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>, &'cl CuMsg<T3>)

Source§

impl<'cl, T1: CuMsgPayload + 'cl, T2: CuMsgPayload + 'cl, T3: CuMsgPayload + 'cl, T4: CuMsgPayload + 'cl> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>, &'cl CuMsg<T3>, &'cl CuMsg<T4>)

Source§

impl<'cl, T1: CuMsgPayload + 'cl, T2: CuMsgPayload + 'cl, T3: CuMsgPayload + 'cl, T4: CuMsgPayload + 'cl, T5: CuMsgPayload + 'cl> CuMsgPack<'cl> for (&'cl CuMsg<T1>, &'cl CuMsg<T2>, &'cl CuMsg<T3>, &'cl CuMsg<T4>, &'cl CuMsg<T5>)

Source§

impl<'cl, T: CuMsgPayload> CuMsgPack<'cl> for (&'cl CuMsg<T>,)

Source§

impl<'cl, T: CuMsgPayload> CuMsgPack<'cl> for (&'cl mut CuMsg<T>,)

Implementors§

Source§

impl<'cl, T: CuMsgPayload> CuMsgPack<'cl> for &'cl CuMsg<T>

Source§

impl<'cl, T: CuMsgPayload> CuMsgPack<'cl> for &'cl mut CuMsg<T>

\ No newline at end of file diff --git a/cu29_runtime/cutask/trait.CuMsgPayload.html b/cu29_runtime/cutask/trait.CuMsgPayload.html index f83047feb..7ba9d9dd9 100644 --- a/cu29_runtime/cutask/trait.CuMsgPayload.html +++ b/cu29_runtime/cutask/trait.CuMsgPayload.html @@ -1,4 +1,4 @@ -CuMsgPayload in cu29_runtime::cutask - Rust
cu29_runtime::cutask

Trait CuMsgPayload

Source
pub trait CuMsgPayload:
+CuMsgPayload in cu29_runtime::cutask - Rust

Trait CuMsgPayload

Source
pub trait CuMsgPayload:
     Default
     + Debug
     + Clone
diff --git a/cu29_runtime/cutask/trait.CuSinkTask.html b/cu29_runtime/cutask/trait.CuSinkTask.html
index 6847fa4ec..faf755778 100644
--- a/cu29_runtime/cutask/trait.CuSinkTask.html
+++ b/cu29_runtime/cutask/trait.CuSinkTask.html
@@ -1,4 +1,4 @@
-CuSinkTask in cu29_runtime::cutask - Rust
cu29_runtime::cutask

Trait CuSinkTask

Source
pub trait CuSinkTask<'cl>: Freezable {
+CuSinkTask in cu29_runtime::cutask - Rust

Trait CuSinkTask

Source
pub trait CuSinkTask<'cl>: Freezable {
     type Input: CuMsgPack<'cl>;
 
     // Required methods
diff --git a/cu29_runtime/cutask/trait.CuSrcTask.html b/cu29_runtime/cutask/trait.CuSrcTask.html
index 181a27887..0d63ac0a7 100644
--- a/cu29_runtime/cutask/trait.CuSrcTask.html
+++ b/cu29_runtime/cutask/trait.CuSrcTask.html
@@ -1,4 +1,4 @@
-CuSrcTask in cu29_runtime::cutask - Rust
cu29_runtime::cutask

Trait CuSrcTask

Source
pub trait CuSrcTask<'cl>: Freezable {
+CuSrcTask in cu29_runtime::cutask - Rust

Trait CuSrcTask

Source
pub trait CuSrcTask<'cl>: Freezable {
     type Output: CuMsgPack<'cl>;
 
     // Required methods
diff --git a/cu29_runtime/cutask/trait.CuTask.html b/cu29_runtime/cutask/trait.CuTask.html
index 5ee9eac53..d3f25cb8b 100644
--- a/cu29_runtime/cutask/trait.CuTask.html
+++ b/cu29_runtime/cutask/trait.CuTask.html
@@ -1,4 +1,4 @@
-CuTask in cu29_runtime::cutask - Rust
cu29_runtime::cutask

Trait CuTask

Source
pub trait CuTask<'cl>: Freezable {
+CuTask in cu29_runtime::cutask - Rust

Trait CuTask

Source
pub trait CuTask<'cl>: Freezable {
     type Input: CuMsgPack<'cl>;
     type Output: CuMsgPack<'cl>;
 
diff --git a/cu29_runtime/cutask/trait.Freezable.html b/cu29_runtime/cutask/trait.Freezable.html
index c9e69630a..01135c9fa 100644
--- a/cu29_runtime/cutask/trait.Freezable.html
+++ b/cu29_runtime/cutask/trait.Freezable.html
@@ -1,4 +1,4 @@
-Freezable in cu29_runtime::cutask - Rust
cu29_runtime::cutask

Trait Freezable

Source
pub trait Freezable {
+Freezable in cu29_runtime::cutask - Rust

Trait Freezable

Source
pub trait Freezable {
     // Provided methods
     fn freeze<E: Encoder>(&self, encoder: &mut E) -> Result<(), EncodeError> { ... }
     fn thaw<D: Decoder>(&mut self, decoder: &mut D) -> Result<(), DecodeError> { ... }
diff --git a/cu29_runtime/index.html b/cu29_runtime/index.html
index 17413c109..3c3a5fa05 100644
--- a/cu29_runtime/index.html
+++ b/cu29_runtime/index.html
@@ -1,4 +1,4 @@
-cu29_runtime - Rust

Crate cu29_runtime

Source
Expand description
logo +cu29_runtime - Rust

Crate cu29_runtime

Source
Expand description
logo

§

§Copper

copper GitHub last commit diff --git a/cu29_runtime/macro.input_msg.html b/cu29_runtime/macro.input_msg.html index cba8d2905..ad30e6cbc 100644 --- a/cu29_runtime/macro.input_msg.html +++ b/cu29_runtime/macro.input_msg.html @@ -1,4 +1,4 @@ -input_msg in cu29_runtime - Rust

cu29_runtime

Macro input_msg

Source
macro_rules! input_msg {
+input_msg in cu29_runtime - Rust

Macro input_msg

Source
macro_rules! input_msg {
     ($lifetime:lifetime, $ty:ty) => { ... };
     ($lifetime:lifetime, $($ty:ty),*) => { ... };
 }
\ No newline at end of file diff --git a/cu29_runtime/macro.output_msg.html b/cu29_runtime/macro.output_msg.html index 6b74a6edd..e0f63afc7 100644 --- a/cu29_runtime/macro.output_msg.html +++ b/cu29_runtime/macro.output_msg.html @@ -1,3 +1,3 @@ -output_msg in cu29_runtime - Rust
cu29_runtime

Macro output_msg

Source
macro_rules! output_msg {
+output_msg in cu29_runtime - Rust

Macro output_msg

Source
macro_rules! output_msg {
     ($lifetime:lifetime, $ty:ty) => { ... };
 }
\ No newline at end of file diff --git a/cu29_runtime/monitoring/enum.CuTaskState.html b/cu29_runtime/monitoring/enum.CuTaskState.html index f58137f34..a822271d4 100644 --- a/cu29_runtime/monitoring/enum.CuTaskState.html +++ b/cu29_runtime/monitoring/enum.CuTaskState.html @@ -1,4 +1,4 @@ -CuTaskState in cu29_runtime::monitoring - Rust
cu29_runtime::monitoring

Enum CuTaskState

Source
pub enum CuTaskState {
+CuTaskState in cu29_runtime::monitoring - Rust

Enum CuTaskState

Source
pub enum CuTaskState {
     Start,
     Preprocess,
     Process,
diff --git a/cu29_runtime/monitoring/enum.Decision.html b/cu29_runtime/monitoring/enum.Decision.html
index 38840615a..0bb6987ad 100644
--- a/cu29_runtime/monitoring/enum.Decision.html
+++ b/cu29_runtime/monitoring/enum.Decision.html
@@ -1,4 +1,4 @@
-Decision in cu29_runtime::monitoring - Rust
cu29_runtime::monitoring

Enum Decision

Source
pub enum Decision {
+Decision in cu29_runtime::monitoring - Rust

Enum Decision

Source
pub enum Decision {
     Abort,
     Ignore,
     Shutdown,
diff --git a/cu29_runtime/monitoring/index.html b/cu29_runtime/monitoring/index.html
index 5f18a7a3c..ea52702f5 100644
--- a/cu29_runtime/monitoring/index.html
+++ b/cu29_runtime/monitoring/index.html
@@ -1,4 +1,4 @@
-cu29_runtime::monitoring - Rust
cu29_runtime

Module monitoring

Source
Expand description

Some basic internal monitoring tooling Copper uses to monitor itself and the tasks it is running.

+cu29_runtime::monitoring - Rust

Module monitoring

Source
Expand description

Some basic internal monitoring tooling Copper uses to monitor itself and the tasks it is running.

Structs§

CountingAllocator
A simple allocator that counts the number of bytes allocated and deallocated.
CuDurationStatistics
A Specialized statistics object for CuDuration. It will also keep track of the jitter between the values.
LiveStatistics
Accumulative stat object that can give your some real time statistics.
NoMonitor
A do nothing monitor if no monitor is provided. This is basically defining the default behavior of Copper in case of error.
ScopedAllocCounter
A simple struct that counts the number of bytes allocated and deallocated in a scope.

Enums§

CuTaskState
The state of a task.
Decision
Monitor decision to be taken when a task errored out.

Statics§

GLOBAL

Traits§

CuMonitor
Trait to implement a monitoring task.
\ No newline at end of file diff --git a/cu29_runtime/monitoring/static.GLOBAL.html b/cu29_runtime/monitoring/static.GLOBAL.html index 3710fb1e4..b71b88e71 100644 --- a/cu29_runtime/monitoring/static.GLOBAL.html +++ b/cu29_runtime/monitoring/static.GLOBAL.html @@ -1 +1 @@ -GLOBAL in cu29_runtime::monitoring - Rust
cu29_runtime::monitoring

Static GLOBAL

Source
pub static GLOBAL: CountingAllocator
\ No newline at end of file +GLOBAL in cu29_runtime::monitoring - Rust

Static GLOBAL

Source
pub static GLOBAL: CountingAllocator
\ No newline at end of file diff --git a/cu29_runtime/monitoring/struct.CountingAllocator.html b/cu29_runtime/monitoring/struct.CountingAllocator.html index c77862c13..53e9ee689 100644 --- a/cu29_runtime/monitoring/struct.CountingAllocator.html +++ b/cu29_runtime/monitoring/struct.CountingAllocator.html @@ -1,4 +1,4 @@ -CountingAllocator in cu29_runtime::monitoring - Rust
cu29_runtime::monitoring

Struct CountingAllocator

Source
pub struct CountingAllocator { /* private fields */ }
Expand description

A simple allocator that counts the number of bytes allocated and deallocated.

+CountingAllocator in cu29_runtime::monitoring - Rust

Struct CountingAllocator

Source
pub struct CountingAllocator { /* private fields */ }
Expand description

A simple allocator that counts the number of bytes allocated and deallocated.

Implementations§

Source§

impl CountingAllocator

Source

pub const fn new() -> Self

Source

pub fn get_allocated(&self) -> usize

Source

pub fn get_deallocated(&self) -> usize

Source

pub fn reset(&self)

Trait Implementations§

Source§

impl Default for CountingAllocator

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl GlobalAlloc for CountingAllocator

Source§

unsafe fn alloc(&self, layout: Layout) -> *mut u8

Allocates memory as described by the given layout. Read more
Source§

unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout)

Deallocates the block of memory at the given ptr pointer with the given layout. Read more
1.28.0 · Source§

unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8

Behaves like alloc, but also ensures that the contents are set to zero before being returned. Read more
1.28.0 · Source§

unsafe fn realloc( &self, diff --git a/cu29_runtime/monitoring/struct.CuDurationStatistics.html b/cu29_runtime/monitoring/struct.CuDurationStatistics.html index cf4fc0521..89c1a27b5 100644 --- a/cu29_runtime/monitoring/struct.CuDurationStatistics.html +++ b/cu29_runtime/monitoring/struct.CuDurationStatistics.html @@ -1,4 +1,4 @@ -CuDurationStatistics in cu29_runtime::monitoring - Rust
cu29_runtime::monitoring

Struct CuDurationStatistics

Source
pub struct CuDurationStatistics { /* private fields */ }
Expand description

A Specialized statistics object for CuDuration. +CuDurationStatistics in cu29_runtime::monitoring - Rust

Struct CuDurationStatistics

Source
pub struct CuDurationStatistics { /* private fields */ }
Expand description

A Specialized statistics object for CuDuration. It will also keep track of the jitter between the values.

Implementations§

Source§

impl CuDurationStatistics

Source

pub fn new(max: CuDuration) -> Self

Source

pub fn min(&self) -> CuDuration

Source

pub fn max(&self) -> CuDuration

Source

pub fn mean(&self) -> CuDuration

Source

pub fn percentile(&self, percentile: f64) -> CuDuration

Source

pub fn stddev(&self) -> CuDuration

Source

pub fn len(&self) -> u64

Source

pub fn is_empty(&self) -> bool

Source

pub fn jitter_min(&self) -> CuDuration

Source

pub fn jitter_max(&self) -> CuDuration

Source

pub fn jitter_mean(&self) -> CuDuration

Source

pub fn jitter_stddev(&self) -> CuDuration

Source

pub fn jitter_percentile(&self, percentile: f64) -> CuDuration

Source

pub fn record(&mut self, value: CuDuration)

Source

pub fn reset(&mut self)

Trait Implementations§

Source§

impl Clone for CuDurationStatistics

Source§

fn clone(&self) -> CuDurationStatistics

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CuDurationStatistics

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where diff --git a/cu29_runtime/monitoring/struct.LiveStatistics.html b/cu29_runtime/monitoring/struct.LiveStatistics.html index e0c2a93c9..7b018dd88 100644 --- a/cu29_runtime/monitoring/struct.LiveStatistics.html +++ b/cu29_runtime/monitoring/struct.LiveStatistics.html @@ -1,4 +1,4 @@ -LiveStatistics in cu29_runtime::monitoring - Rust
cu29_runtime::monitoring

Struct LiveStatistics

Source
pub struct LiveStatistics { /* private fields */ }
Expand description

Accumulative stat object that can give your some real time statistics.

+LiveStatistics in cu29_runtime::monitoring - Rust

Struct LiveStatistics

Source
pub struct LiveStatistics { /* private fields */ }
Expand description

Accumulative stat object that can give your some real time statistics.

Implementations§

Source§

impl LiveStatistics

Source

pub fn new_unbounded() -> Self

Source

pub fn new_with_max(max: u64) -> Self

Source

pub fn min(&self) -> u64

Source

pub fn max(&self) -> u64

Source

pub fn mean(&self) -> f64

Source

pub fn percentile(&self, percentile: f64) -> u64

Source

pub fn record(&mut self, value: u64)

Adds a value to the statistics.

Source

pub fn len(&self) -> u64

Source

pub fn is_empty(&self) -> bool

Source

pub fn reset(&mut self)

Trait Implementations§

Source§

impl Clone for LiveStatistics

Source§

fn clone(&self) -> LiveStatistics

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LiveStatistics

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where diff --git a/cu29_runtime/monitoring/struct.NoMonitor.html b/cu29_runtime/monitoring/struct.NoMonitor.html index 64d471844..f28afdf27 100644 --- a/cu29_runtime/monitoring/struct.NoMonitor.html +++ b/cu29_runtime/monitoring/struct.NoMonitor.html @@ -1,4 +1,4 @@ -NoMonitor in cu29_runtime::monitoring - Rust
cu29_runtime::monitoring

Struct NoMonitor

Source
pub struct NoMonitor {}
Expand description

A do nothing monitor if no monitor is provided. +NoMonitor in cu29_runtime::monitoring - Rust

Struct NoMonitor

Source
pub struct NoMonitor {}
Expand description

A do nothing monitor if no monitor is provided. This is basically defining the default behavior of Copper in case of error.

Trait Implementations§

Source§

impl CuMonitor for NoMonitor

Source§

fn new(_config: &CuConfig, _taskids: &'static [&'static str]) -> CuResult<Self>

Source§

fn process_copperlist(&self, _msgs: &[&CuMsgMetadata]) -> CuResult<()>

Callback that will be trigger at the end of every copperlist (before, on or after the serialization).
Source§

fn process_error( &self, diff --git a/cu29_runtime/monitoring/struct.ScopedAllocCounter.html b/cu29_runtime/monitoring/struct.ScopedAllocCounter.html index 1c6df7363..609713b69 100644 --- a/cu29_runtime/monitoring/struct.ScopedAllocCounter.html +++ b/cu29_runtime/monitoring/struct.ScopedAllocCounter.html @@ -1,4 +1,4 @@ -ScopedAllocCounter in cu29_runtime::monitoring - Rust
cu29_runtime::monitoring

Struct ScopedAllocCounter

Source
pub struct ScopedAllocCounter { /* private fields */ }
Expand description

A simple struct that counts the number of bytes allocated and deallocated in a scope.

+ScopedAllocCounter in cu29_runtime::monitoring - Rust

Struct ScopedAllocCounter

Source
pub struct ScopedAllocCounter { /* private fields */ }
Expand description

A simple struct that counts the number of bytes allocated and deallocated in a scope.

Implementations§

Source§

impl ScopedAllocCounter

Source

pub fn new() -> Self

Source

pub fn get_allocated(&self) -> usize

Returns the total number of bytes allocated in the current scope since the creation of this ScopedAllocCounter.

§Example
diff --git a/cu29_runtime/monitoring/trait.CuMonitor.html b/cu29_runtime/monitoring/trait.CuMonitor.html index f7e8f240d..208c64112 100644 --- a/cu29_runtime/monitoring/trait.CuMonitor.html +++ b/cu29_runtime/monitoring/trait.CuMonitor.html @@ -1,4 +1,4 @@ -CuMonitor in cu29_runtime::monitoring - Rust
cu29_runtime::monitoring

Trait CuMonitor

Source
pub trait CuMonitor: Sized {
+CuMonitor in cu29_runtime::monitoring - Rust

Trait CuMonitor

Source
pub trait CuMonitor: Sized {
     // Required methods
     fn new(
         config: &CuConfig,
diff --git a/cu29_runtime/payload/index.html b/cu29_runtime/payload/index.html
index 32e0219f7..e7f91868b 100644
--- a/cu29_runtime/payload/index.html
+++ b/cu29_runtime/payload/index.html
@@ -1 +1 @@
-cu29_runtime::payload - Rust
cu29_runtime

Module payload

Source

Structs§

CuArray
Copper friendly wrapper for a fixed size array.
\ No newline at end of file +cu29_runtime::payload - Rust

Module payload

Source

Structs§

CuArray
Copper friendly wrapper for a fixed size array.
\ No newline at end of file diff --git a/cu29_runtime/payload/struct.CuArray.html b/cu29_runtime/payload/struct.CuArray.html index 592e09ef6..b49751574 100644 --- a/cu29_runtime/payload/struct.CuArray.html +++ b/cu29_runtime/payload/struct.CuArray.html @@ -1,4 +1,4 @@ -CuArray in cu29_runtime::payload - Rust
cu29_runtime::payload

Struct CuArray

Source
pub struct CuArray<T, const N: usize> { /* private fields */ }
Expand description

Copper friendly wrapper for a fixed size array.

+CuArray in cu29_runtime::payload - Rust

Struct CuArray

Source
pub struct CuArray<T, const N: usize> { /* private fields */ }
Expand description

Copper friendly wrapper for a fixed size array.

Implementations§

Source§

impl<T, const N: usize> CuArray<T, N>

Source

pub fn new() -> Self

Source

pub fn fill_from_iter<I>(&mut self, iter: I)
where I: IntoIterator<Item = T>,

Source

pub fn len(&self) -> usize

Source

pub fn is_empty(&self) -> bool

Source

pub fn as_slice(&self) -> &[T]

Source

pub fn capacity(&self) -> usize

Trait Implementations§

Source§

impl<T: Clone, const N: usize> Clone for CuArray<T, N>

Source§

fn clone(&self) -> CuArray<T, N>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Debug, const N: usize> Debug for CuArray<T, N>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T, const N: usize> Decode for CuArray<T, N>
where T: Decode,

Source§

fn decode<D: Decoder>(decoder: &mut D) -> Result<Self, DecodeError>

Attempt to decode this type with the given Decode.
Source§

impl<T: Default, const N: usize> Default for CuArray<T, N>

Source§

fn default() -> CuArray<T, N>

Returns the “default value” for a type. Read more
Source§

impl<T, const N: usize> Encode for CuArray<T, N>
where diff --git a/cu29_runtime/pool/enum.CuHandleInner.html b/cu29_runtime/pool/enum.CuHandleInner.html index a536c6419..2bfa936ee 100644 --- a/cu29_runtime/pool/enum.CuHandleInner.html +++ b/cu29_runtime/pool/enum.CuHandleInner.html @@ -1,4 +1,4 @@ -CuHandleInner in cu29_runtime::pool - Rust
cu29_runtime::pool

Enum CuHandleInner

Source
pub enum CuHandleInner<T: Debug> {
+CuHandleInner in cu29_runtime::pool - Rust

Enum CuHandleInner

Source
pub enum CuHandleInner<T: Debug> {
     Pooled(ReusableOwned<T>),
     Detached(T),
 }
Expand description

A Handle to a Buffer. diff --git a/cu29_runtime/pool/fn.pools_statistics.html b/cu29_runtime/pool/fn.pools_statistics.html index eefc08c68..87f977ca3 100644 --- a/cu29_runtime/pool/fn.pools_statistics.html +++ b/cu29_runtime/pool/fn.pools_statistics.html @@ -1,3 +1,3 @@ -pools_statistics in cu29_runtime::pool - Rust

cu29_runtime::pool

Function pools_statistics

Source
pub fn pools_statistics() -> SmallVec<[(ArrayString<64>, usize, usize, usize); 16]>
Expand description

Get the list of pools and their statistics. +pools_statistics in cu29_runtime::pool - Rust

Function pools_statistics

Source
pub fn pools_statistics() -> SmallVec<[(ArrayString<64>, usize, usize, usize); 16]>
Expand description

Get the list of pools and their statistics. We use SmallVec here to avoid heap allocations while the stack is running.

\ No newline at end of file diff --git a/cu29_runtime/pool/index.html b/cu29_runtime/pool/index.html index 45dba6976..dc9ef739d 100644 --- a/cu29_runtime/pool/index.html +++ b/cu29_runtime/pool/index.html @@ -1,4 +1,4 @@ -cu29_runtime::pool - Rust
cu29_runtime

Module pool

Source

Structs§

AlignedBuffer
A buffer that is aligned to a specific size with the Element of type E.
CuHandle
A shareable handle to an Array coming from a pool (either host or device).
CuHostMemoryPool
A pool of host memory buffers.

Enums§

CuHandleInner
A Handle to a Buffer. +cu29_runtime::pool - Rust

Module pool

Source

Structs§

AlignedBuffer
A buffer that is aligned to a specific size with the Element of type E.
CuHandle
A shareable handle to an Array coming from a pool (either host or device).
CuHostMemoryPool
A pool of host memory buffers.

Enums§

CuHandleInner
A Handle to a Buffer. For onboard usages, the buffer should be Pooled (ie, coming from a preallocated pool). The Detached version is for offline usages where we don’t really need a pool to deserialize them.

Traits§

ArrayLike
CuPool
A CuPool is a pool of buffers that can be shared between different parts of the code. Handles can be stored locally in the tasks and shared between them.
DeviceCuPool
A device memory pool can copy data from a device to a host memory pool on top.
ElementType
Basic Type that can be used in a buffer in a CuPool.
PoolMonitor
Trait for a Pool to exposed to be monitored by the monitoring API.

Functions§

pools_statistics
Get the list of pools and their statistics. diff --git a/cu29_runtime/pool/struct.AlignedBuffer.html b/cu29_runtime/pool/struct.AlignedBuffer.html index dabeee7b6..006d4c38f 100644 --- a/cu29_runtime/pool/struct.AlignedBuffer.html +++ b/cu29_runtime/pool/struct.AlignedBuffer.html @@ -1,4 +1,4 @@ -AlignedBuffer in cu29_runtime::pool - Rust
cu29_runtime::pool

Struct AlignedBuffer

Source
pub struct AlignedBuffer<E: ElementType> { /* private fields */ }
Expand description

A buffer that is aligned to a specific size with the Element of type E.

+AlignedBuffer in cu29_runtime::pool - Rust

Struct AlignedBuffer

Source
pub struct AlignedBuffer<E: ElementType> { /* private fields */ }
Expand description

A buffer that is aligned to a specific size with the Element of type E.

Implementations§

Source§

impl<E: ElementType> AlignedBuffer<E>

Source

pub fn new(num_elements: usize, alignment: usize) -> Self

Methods from Deref<Target = [E]>§

Source

pub fn write_copy_of_slice(&mut self, src: &[T]) -> &mut [T]
where T: Copy,

🔬This is a nightly-only experimental API. (maybe_uninit_write_slice)

Copies the elements from src to self, returning a mutable reference to the now initialized contents of self.

diff --git a/cu29_runtime/pool/struct.CuHandle.html b/cu29_runtime/pool/struct.CuHandle.html index dd9fb66a6..748b09f73 100644 --- a/cu29_runtime/pool/struct.CuHandle.html +++ b/cu29_runtime/pool/struct.CuHandle.html @@ -1,4 +1,4 @@ -CuHandle in cu29_runtime::pool - Rust
cu29_runtime::pool

Struct CuHandle

Source
pub struct CuHandle<T: ArrayLike>(/* private fields */);
Expand description

A shareable handle to an Array coming from a pool (either host or device).

+CuHandle in cu29_runtime::pool - Rust

Struct CuHandle

Source
pub struct CuHandle<T: ArrayLike>(/* private fields */);
Expand description

A shareable handle to an Array coming from a pool (either host or device).

Implementations§

Source§

impl<T: ArrayLike> CuHandle<T>

Source

pub fn new_detached(inner: T) -> Self

Create a new CuHandle not part of a Pool (not for onboard usages, use pools instead)

Source

pub fn with_inner<R>(&self, f: impl FnOnce(&CuHandleInner<T>) -> R) -> R

Safely access the inner value, applying a closure to it.

Source

pub fn with_inner_mut<R>(&self, f: impl FnOnce(&mut CuHandleInner<T>) -> R) -> R

Mutably access the inner value, applying a closure to it.

diff --git a/cu29_runtime/pool/struct.CuHostMemoryPool.html b/cu29_runtime/pool/struct.CuHostMemoryPool.html index 352e58e53..5211388a5 100644 --- a/cu29_runtime/pool/struct.CuHostMemoryPool.html +++ b/cu29_runtime/pool/struct.CuHostMemoryPool.html @@ -1,4 +1,4 @@ -CuHostMemoryPool in cu29_runtime::pool - Rust
cu29_runtime::pool

Struct CuHostMemoryPool

Source
pub struct CuHostMemoryPool<T> { /* private fields */ }
Expand description

A pool of host memory buffers.

+CuHostMemoryPool in cu29_runtime::pool - Rust

Struct CuHostMemoryPool

Source
pub struct CuHostMemoryPool<T> { /* private fields */ }
Expand description

A pool of host memory buffers.

Implementations§

Source§

impl<T: ArrayLike + 'static> CuHostMemoryPool<T>

Source

pub fn new<F>( id: &str, size: usize, diff --git a/cu29_runtime/pool/trait.ArrayLike.html b/cu29_runtime/pool/trait.ArrayLike.html index f649d232d..d10dfb5cb 100644 --- a/cu29_runtime/pool/trait.ArrayLike.html +++ b/cu29_runtime/pool/trait.ArrayLike.html @@ -1,4 +1,4 @@ -ArrayLike in cu29_runtime::pool - Rust
cu29_runtime::pool

Trait ArrayLike

Source
pub trait ArrayLike:
+ArrayLike in cu29_runtime::pool - Rust

Trait ArrayLike

Source
pub trait ArrayLike:
     Deref<Target = [Self::Element]>
     + DerefMut
     + Debug
diff --git a/cu29_runtime/pool/trait.CuPool.html b/cu29_runtime/pool/trait.CuPool.html
index c61e62d58..e54492ec9 100644
--- a/cu29_runtime/pool/trait.CuPool.html
+++ b/cu29_runtime/pool/trait.CuPool.html
@@ -1,4 +1,4 @@
-CuPool in cu29_runtime::pool - Rust
cu29_runtime::pool

Trait CuPool

Source
pub trait CuPool<T: ArrayLike>: PoolMonitor {
+CuPool in cu29_runtime::pool - Rust

Trait CuPool

Source
pub trait CuPool<T: ArrayLike>: PoolMonitor {
     // Required methods
     fn acquire(&self) -> Option<CuHandle<T>>;
     fn copy_from<O>(&self, from: &mut CuHandle<O>) -> CuHandle<T>
diff --git a/cu29_runtime/pool/trait.DeviceCuPool.html b/cu29_runtime/pool/trait.DeviceCuPool.html
index a87cbb9b6..3255b1ce7 100644
--- a/cu29_runtime/pool/trait.DeviceCuPool.html
+++ b/cu29_runtime/pool/trait.DeviceCuPool.html
@@ -1,4 +1,4 @@
-DeviceCuPool in cu29_runtime::pool - Rust
cu29_runtime::pool

Trait DeviceCuPool

Source
pub trait DeviceCuPool<T: ArrayLike>: CuPool<T> {
+DeviceCuPool in cu29_runtime::pool - Rust

Trait DeviceCuPool

Source
pub trait DeviceCuPool<T: ArrayLike>: CuPool<T> {
     // Required method
     fn copy_to_host_pool<O>(
         &self,
diff --git a/cu29_runtime/pool/trait.ElementType.html b/cu29_runtime/pool/trait.ElementType.html
index 38b8f844f..92cc481cb 100644
--- a/cu29_runtime/pool/trait.ElementType.html
+++ b/cu29_runtime/pool/trait.ElementType.html
@@ -1,4 +1,4 @@
-ElementType in cu29_runtime::pool - Rust
cu29_runtime::pool

Trait ElementType

Source
pub trait ElementType:
+ElementType in cu29_runtime::pool - Rust

Trait ElementType

Source
pub trait ElementType:
     Default
     + Sized
     + Copy
diff --git a/cu29_runtime/pool/trait.PoolMonitor.html b/cu29_runtime/pool/trait.PoolMonitor.html
index 14312f098..db2236a7a 100644
--- a/cu29_runtime/pool/trait.PoolMonitor.html
+++ b/cu29_runtime/pool/trait.PoolMonitor.html
@@ -1,4 +1,4 @@
-PoolMonitor in cu29_runtime::pool - Rust
cu29_runtime::pool

Trait PoolMonitor

Source
pub trait PoolMonitor: Send + Sync {
+PoolMonitor in cu29_runtime::pool - Rust

Trait PoolMonitor

Source
pub trait PoolMonitor: Send + Sync {
     // Required methods
     fn id(&self) -> ArrayString<64>;
     fn space_left(&self) -> usize;
diff --git a/cu29_runtime/simulation/enum.CuTaskCallbackState.html b/cu29_runtime/simulation/enum.CuTaskCallbackState.html
index aa5f43cad..e29877b11 100644
--- a/cu29_runtime/simulation/enum.CuTaskCallbackState.html
+++ b/cu29_runtime/simulation/enum.CuTaskCallbackState.html
@@ -1,4 +1,4 @@
-CuTaskCallbackState in cu29_runtime::simulation - Rust
cu29_runtime::simulation

Enum CuTaskCallbackState

Source
pub enum CuTaskCallbackState<'cl, I, O>
where +CuTaskCallbackState in cu29_runtime::simulation - Rust

Enum CuTaskCallbackState

Source
pub enum CuTaskCallbackState<'cl, I, O>
where I: CuMsgPack<'cl>, O: CuMsgPack<'cl>,
{ New(Option<ComponentConfig>), diff --git a/cu29_runtime/simulation/enum.SimOverride.html b/cu29_runtime/simulation/enum.SimOverride.html index 5ea3f7447..056ebcf23 100644 --- a/cu29_runtime/simulation/enum.SimOverride.html +++ b/cu29_runtime/simulation/enum.SimOverride.html @@ -1,4 +1,4 @@ -SimOverride in cu29_runtime::simulation - Rust
cu29_runtime::simulation

Enum SimOverride

Source
pub enum SimOverride {
+SimOverride in cu29_runtime::simulation - Rust

Enum SimOverride

Source
pub enum SimOverride {
     ExecutedBySim,
     ExecuteByRuntime,
     Errored(String),
diff --git a/cu29_runtime/simulation/index.html b/cu29_runtime/simulation/index.html
index 35230754a..d743de91d 100644
--- a/cu29_runtime/simulation/index.html
+++ b/cu29_runtime/simulation/index.html
@@ -1,4 +1,4 @@
-cu29_runtime::simulation - Rust
cu29_runtime

Module simulation

Source
Expand description

§cu29::simulation Module

+cu29_runtime::simulation - Rust

Module simulation

Source
Expand description

§cu29::simulation Module

The cu29::simulation module provides an interface to simulate tasks in Copper-based systems. It offers structures, traits, and enums that enable hooking into the lifecycle of tasks, adapting their behavior, and integrating them with simulated hardware environments.

diff --git a/cu29_runtime/simulation/struct.CuSimSinkTask.html b/cu29_runtime/simulation/struct.CuSimSinkTask.html index 5d93aa674..81b9f12ac 100644 --- a/cu29_runtime/simulation/struct.CuSimSinkTask.html +++ b/cu29_runtime/simulation/struct.CuSimSinkTask.html @@ -1,4 +1,4 @@ -CuSimSinkTask in cu29_runtime::simulation - Rust
cu29_runtime::simulation

Struct CuSimSinkTask

Source
pub struct CuSimSinkTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a sink task for the simulations. +CuSimSinkTask in cu29_runtime::simulation - Rust

Struct CuSimSinkTask

Source
pub struct CuSimSinkTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a sink task for the simulations. It basically does nothing in place of a real driver so it won’t try to initialize any hardware.

Trait Implementations§

Source§

impl<'cl, T: CuMsgPayload + 'cl> CuSinkTask<'cl> for CuSimSinkTask<T>

Source§

type Input = &'cl CuMsg<T>

Source§

fn new(_config: Option<&ComponentConfig>) -> CuResult<Self>
where Self: Sized,

Here you need to initialize everything your task will need for the duration of its lifetime. diff --git a/cu29_runtime/simulation/struct.CuSimSrcTask.html b/cu29_runtime/simulation/struct.CuSimSrcTask.html index 75c53dca7..0f8682d80 100644 --- a/cu29_runtime/simulation/struct.CuSimSrcTask.html +++ b/cu29_runtime/simulation/struct.CuSimSrcTask.html @@ -1,4 +1,4 @@ -CuSimSrcTask in cu29_runtime::simulation - Rust
cu29_runtime::simulation

Struct CuSimSrcTask

Source
pub struct CuSimSrcTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a source task for the simulations. +CuSimSrcTask in cu29_runtime::simulation - Rust

Struct CuSimSrcTask

Source
pub struct CuSimSrcTask<T> { /* private fields */ }
Expand description

This is a placeholder task for a source task for the simulations. It basically does nothing in place of a real driver so it won’t try to initialize any hardware.

Trait Implementations§

Source§

impl<'cl, T: CuMsgPayload + 'cl> CuSrcTask<'cl> for CuSimSrcTask<T>

Source§

type Output = &'cl mut CuMsg<T>

Source§

fn new(_config: Option<&ComponentConfig>) -> CuResult<Self>
where Self: Sized,

Here you need to initialize everything your task will need for the duration of its lifetime. diff --git a/cu29_soa_derive/all.html b/cu29_soa_derive/all.html index 06a2f8473..82f2dc4b7 100644 --- a/cu29_soa_derive/all.html +++ b/cu29_soa_derive/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Derive Macros

\ No newline at end of file +List of all items in this crate

List of all items

Derive Macros

\ No newline at end of file diff --git a/cu29_soa_derive/derive.Soa.html b/cu29_soa_derive/derive.Soa.html index aafa56fe2..ddf9c5ed8 100644 --- a/cu29_soa_derive/derive.Soa.html +++ b/cu29_soa_derive/derive.Soa.html @@ -1,4 +1,4 @@ -Soa in cu29_soa_derive - Rust
cu29_soa_derive

Derive Macro Soa

Source
#[derive(Soa)]
Expand description

Build a fixed sized SoA (Structure of Arrays) from a struct. +Soa in cu29_soa_derive - Rust

Derive Macro Soa

Source
#[derive(Soa)]
Expand description

Build a fixed sized SoA (Structure of Arrays) from a struct. The outputted SoA will be suitable for in place storage in messages and should be easier for the compiler to vectorize.

for example:

diff --git a/cu29_soa_derive/index.html b/cu29_soa_derive/index.html index c473b50d4..77aa78121 100644 --- a/cu29_soa_derive/index.html +++ b/cu29_soa_derive/index.html @@ -1,3 +1,3 @@ -cu29_soa_derive - Rust

Crate cu29_soa_derive

Source

Derive Macros§

Soa
Build a fixed sized SoA (Structure of Arrays) from a struct. +cu29_soa_derive - Rust

Crate cu29_soa_derive

Source

Derive Macros§

Soa
Build a fixed sized SoA (Structure of Arrays) from a struct. The outputted SoA will be suitable for in place storage in messages and should be easier for the compiler to vectorize.
\ No newline at end of file diff --git a/cu29_traits/all.html b/cu29_traits/all.html index 60428e3c9..7427820ce 100644 --- a/cu29_traits/all.html +++ b/cu29_traits/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Traits

Type Aliases

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Traits

Type Aliases

\ No newline at end of file diff --git a/cu29_traits/enum.UnifiedLogType.html b/cu29_traits/enum.UnifiedLogType.html index daa6cc8e4..be0a3edc3 100644 --- a/cu29_traits/enum.UnifiedLogType.html +++ b/cu29_traits/enum.UnifiedLogType.html @@ -1,4 +1,4 @@ -UnifiedLogType in cu29_traits - Rust
cu29_traits

Enum UnifiedLogType

Source
pub enum UnifiedLogType {
+UnifiedLogType in cu29_traits - Rust

Enum UnifiedLogType

Source
pub enum UnifiedLogType {
     Empty,
     StructuredLogLine,
     CopperList,
diff --git a/cu29_traits/index.html b/cu29_traits/index.html
index 5f9775138..6171af30d 100644
--- a/cu29_traits/index.html
+++ b/cu29_traits/index.html
@@ -1 +1 @@
-cu29_traits - Rust

Crate cu29_traits

Source

Structs§

CuError
Common copper Error type.

Enums§

UnifiedLogType
Defines the types of what can be logged in the unified logger.

Traits§

CopperListTuple
A CopperListTuple needs to be encodable, decodable and fixed size in memory.
WriteStream
Defines a basic write, append only stream trait to be able to log or send serializable objects.

Type Aliases§

CuResult
\ No newline at end of file +cu29_traits - Rust

Crate cu29_traits

Source

Structs§

CuError
Common copper Error type.

Enums§

UnifiedLogType
Defines the types of what can be logged in the unified logger.

Traits§

CopperListTuple
A CopperListTuple needs to be encodable, decodable and fixed size in memory.
WriteStream
Defines a basic write, append only stream trait to be able to log or send serializable objects.

Type Aliases§

CuResult
\ No newline at end of file diff --git a/cu29_traits/struct.CuError.html b/cu29_traits/struct.CuError.html index dbab4c298..c03a64467 100644 --- a/cu29_traits/struct.CuError.html +++ b/cu29_traits/struct.CuError.html @@ -1,4 +1,4 @@ -CuError in cu29_traits - Rust
cu29_traits

Struct CuError

Source
pub struct CuError { /* private fields */ }
Expand description

Common copper Error type.

+CuError in cu29_traits - Rust

Struct CuError

Source
pub struct CuError { /* private fields */ }
Expand description

Common copper Error type.

Implementations§

Source§

impl CuError

Source

pub fn new_with_cause(message: &str, cause: impl Error) -> CuError

Source

pub fn add_cause(self, context: &str) -> CuError

Trait Implementations§

Source§

impl Clone for CuError

Source§

fn clone(&self) -> CuError

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CuError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for CuError

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for CuError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for CuError

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<&str> for CuError

Source§

fn from(s: &str) -> CuError

Converts to this type from the input type.
Source§

impl From<String> for CuError

Source§

fn from(s: String) -> CuError

Converts to this type from the input type.
Source§

impl Serialize for CuError

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where diff --git a/cu29_traits/trait.CopperListTuple.html b/cu29_traits/trait.CopperListTuple.html index 71309a3a0..1b32adea0 100644 --- a/cu29_traits/trait.CopperListTuple.html +++ b/cu29_traits/trait.CopperListTuple.html @@ -1,4 +1,4 @@ -CopperListTuple in cu29_traits - Rust
cu29_traits

Trait CopperListTuple

Source
pub trait CopperListTuple:
+CopperListTuple in cu29_traits - Rust

Trait CopperListTuple

Source
pub trait CopperListTuple:
     Encode
     + Decode
     + Sized
diff --git a/cu29_traits/trait.WriteStream.html b/cu29_traits/trait.WriteStream.html
index b852a0859..17993694c 100644
--- a/cu29_traits/trait.WriteStream.html
+++ b/cu29_traits/trait.WriteStream.html
@@ -1,4 +1,4 @@
-WriteStream in cu29_traits - Rust
cu29_traits

Trait WriteStream

Source
pub trait WriteStream<E: Encode>:
+WriteStream in cu29_traits - Rust

Trait WriteStream

Source
pub trait WriteStream<E: Encode>:
     Sync
     + Send
     + Debug {
diff --git a/cu29_traits/type.CuResult.html b/cu29_traits/type.CuResult.html
index ec204902d..58f7c9a9d 100644
--- a/cu29_traits/type.CuResult.html
+++ b/cu29_traits/type.CuResult.html
@@ -1,4 +1,4 @@
-CuResult in cu29_traits - Rust
cu29_traits

Type Alias CuResult

Source
pub type CuResult<T> = Result<T, CuError>;

Aliased Type§

enum CuResult<T> {
+CuResult in cu29_traits - Rust

Type Alias CuResult

Source
pub type CuResult<T> = Result<T, CuError>;

Aliased Type§

enum CuResult<T> {
     Ok(T),
     Err(CuError),
 }

Variants§

§1.0.0

Ok(T)

Contains the success value

diff --git a/cu29_unifiedlog/all.html b/cu29_unifiedlog/all.html index 9ffb2d9fd..67088d4d0 100644 --- a/cu29_unifiedlog/all.html +++ b/cu29_unifiedlog/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/cu29_unifiedlog/enum.AllocatedSection.html b/cu29_unifiedlog/enum.AllocatedSection.html index 9efaa1890..c9e12f7eb 100644 --- a/cu29_unifiedlog/enum.AllocatedSection.html +++ b/cu29_unifiedlog/enum.AllocatedSection.html @@ -1,4 +1,4 @@ -AllocatedSection in cu29_unifiedlog - Rust
cu29_unifiedlog

Enum AllocatedSection

Source
pub enum AllocatedSection {
+AllocatedSection in cu29_unifiedlog - Rust

Enum AllocatedSection

Source
pub enum AllocatedSection {
     NoMoreSpace,
     Section(SectionHandle),
 }

Variants§

§

NoMoreSpace

§

Section(SectionHandle)

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where diff --git a/cu29_unifiedlog/enum.UnifiedLogger.html b/cu29_unifiedlog/enum.UnifiedLogger.html index 323f20018..9cb3b8d3a 100644 --- a/cu29_unifiedlog/enum.UnifiedLogger.html +++ b/cu29_unifiedlog/enum.UnifiedLogger.html @@ -1,4 +1,4 @@ -UnifiedLogger in cu29_unifiedlog - Rust
cu29_unifiedlog

Enum UnifiedLogger

Source
pub enum UnifiedLogger {
+UnifiedLogger in cu29_unifiedlog - Rust

Enum UnifiedLogger

Source
pub enum UnifiedLogger {
     Read(UnifiedLoggerRead),
     Write(UnifiedLoggerWrite),
 }
Expand description

Holder of the read or write side of the datalogger.

diff --git a/cu29_unifiedlog/fn.stream_write.html b/cu29_unifiedlog/fn.stream_write.html index 1f78ec3ef..71b51d295 100644 --- a/cu29_unifiedlog/fn.stream_write.html +++ b/cu29_unifiedlog/fn.stream_write.html @@ -1,4 +1,4 @@ -stream_write in cu29_unifiedlog - Rust
cu29_unifiedlog

Function stream_write

Source
pub fn stream_write<E: Encode>(
+stream_write in cu29_unifiedlog - Rust

Function stream_write

Source
pub fn stream_write<E: Encode>(
     logger: Arc<Mutex<UnifiedLoggerWrite>>,
     entry_type: UnifiedLogType,
     minimum_allocation_amount: usize,
diff --git a/cu29_unifiedlog/index.html b/cu29_unifiedlog/index.html
index 20ba14eec..5f51a9ea8 100644
--- a/cu29_unifiedlog/index.html
+++ b/cu29_unifiedlog/index.html
@@ -1,4 +1,4 @@
-cu29_unifiedlog - Rust

Crate cu29_unifiedlog

Source

Structs§

SectionHandle
A SectionHandle is a handle to a section in the datalogger. +cu29_unifiedlog - Rust

Crate cu29_unifiedlog

Source

Structs§

SectionHandle
A SectionHandle is a handle to a section in the datalogger. It allows to track the lifecycle of a section of the datalogger.
SectionHeader
Each concurrent sublogger is tracked through a section header. They form a linked list of sections. The entry type is used to identify the type of data in the section.
UnifiedLoggerBuilder
Use this builder to create a new DataLogger.
UnifiedLoggerIOReader
This a convenience wrapper around the UnifiedLoggerRead to implement the Read trait.
UnifiedLoggerRead
A read side of the datalogger.
UnifiedLoggerWrite
A write side of the datalogger.

Enums§

AllocatedSection
UnifiedLogger
Holder of the read or write side of the datalogger.

Functions§

stream_write
Create a new stream to write to the unifiedlogger.
\ No newline at end of file diff --git a/cu29_unifiedlog/struct.SectionHandle.html b/cu29_unifiedlog/struct.SectionHandle.html index 7d2259406..2bc428a97 100644 --- a/cu29_unifiedlog/struct.SectionHandle.html +++ b/cu29_unifiedlog/struct.SectionHandle.html @@ -1,4 +1,4 @@ -SectionHandle in cu29_unifiedlog - Rust
cu29_unifiedlog

Struct SectionHandle

Source
pub struct SectionHandle { /* private fields */ }
Expand description

A SectionHandle is a handle to a section in the datalogger. +SectionHandle in cu29_unifiedlog - Rust

Struct SectionHandle

Source
pub struct SectionHandle { /* private fields */ }
Expand description

A SectionHandle is a handle to a section in the datalogger. It allows to track the lifecycle of a section of the datalogger.

Implementations§

Source§

impl SectionHandle

Source

pub fn create(section_header: SectionHeader, buffer: &'static mut [u8]) -> Self

Source

pub fn get_user_buffer(&mut self) -> &mut [u8]

Source

pub fn update_header(&mut self)

Trait Implementations§

Source§

impl Default for SectionHandle

Source§

fn default() -> SectionHandle

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where diff --git a/cu29_unifiedlog/struct.SectionHeader.html b/cu29_unifiedlog/struct.SectionHeader.html index 0dbc36add..fa8e4e218 100644 --- a/cu29_unifiedlog/struct.SectionHeader.html +++ b/cu29_unifiedlog/struct.SectionHeader.html @@ -1,4 +1,4 @@ -SectionHeader in cu29_unifiedlog - Rust
cu29_unifiedlog

Struct SectionHeader

Source
pub struct SectionHeader { /* private fields */ }
Expand description

Each concurrent sublogger is tracked through a section header. +SectionHeader in cu29_unifiedlog - Rust

Struct SectionHeader

Source
pub struct SectionHeader { /* private fields */ }
Expand description

Each concurrent sublogger is tracked through a section header. They form a linked list of sections. The entry type is used to identify the type of data in the section.

Trait Implementations§

Source§

impl<'__de> BorrowDecode<'__de> for SectionHeader

Source§

fn borrow_decode<__D: BorrowDecoder<'__de>>( diff --git a/cu29_unifiedlog/struct.UnifiedLoggerBuilder.html b/cu29_unifiedlog/struct.UnifiedLoggerBuilder.html index 67282372b..bc861ebb9 100644 --- a/cu29_unifiedlog/struct.UnifiedLoggerBuilder.html +++ b/cu29_unifiedlog/struct.UnifiedLoggerBuilder.html @@ -1,4 +1,4 @@ -UnifiedLoggerBuilder in cu29_unifiedlog - Rust
cu29_unifiedlog

Struct UnifiedLoggerBuilder

Source
pub struct UnifiedLoggerBuilder { /* private fields */ }
Expand description

Use this builder to create a new DataLogger.

+UnifiedLoggerBuilder in cu29_unifiedlog - Rust

Struct UnifiedLoggerBuilder

Source
pub struct UnifiedLoggerBuilder { /* private fields */ }
Expand description

Use this builder to create a new DataLogger.

Implementations§

Source§

impl UnifiedLoggerBuilder

Source

pub fn new() -> Self

Source

pub fn file_base_name(self, file_path: &Path) -> Self

If “something/toto.copper” is given, it will find or create “something/toto_0.copper”, “something/toto_1.copper” etc.

Source

pub fn preallocated_size(self, preallocated_size: usize) -> Self

Source

pub fn write(self, write: bool) -> Self

Source

pub fn create(self, create: bool) -> Self

Source

pub fn build(self) -> Result<UnifiedLogger>

Trait Implementations§

Source§

impl Default for UnifiedLoggerBuilder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where diff --git a/cu29_unifiedlog/struct.UnifiedLoggerIOReader.html b/cu29_unifiedlog/struct.UnifiedLoggerIOReader.html index 8aa60c625..9d320d913 100644 --- a/cu29_unifiedlog/struct.UnifiedLoggerIOReader.html +++ b/cu29_unifiedlog/struct.UnifiedLoggerIOReader.html @@ -1,4 +1,4 @@ -UnifiedLoggerIOReader in cu29_unifiedlog - Rust
cu29_unifiedlog

Struct UnifiedLoggerIOReader

Source
pub struct UnifiedLoggerIOReader { /* private fields */ }
Expand description

This a convenience wrapper around the UnifiedLoggerRead to implement the Read trait.

+UnifiedLoggerIOReader in cu29_unifiedlog - Rust

Struct UnifiedLoggerIOReader

Source
pub struct UnifiedLoggerIOReader { /* private fields */ }
Expand description

This a convenience wrapper around the UnifiedLoggerRead to implement the Read trait.

Implementations§

Source§

impl UnifiedLoggerIOReader

Source

pub fn new(logger: UnifiedLoggerRead, log_type: UnifiedLogType) -> Self

Trait Implementations§

Source§

impl Read for UnifiedLoggerIOReader

Source§

fn read(&mut self, buf: &mut [u8]) -> Result<usize>

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
1.36.0 · Source§

fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

Like read, except that it reads into a slice of buffers. Read more
Source§

fn is_read_vectored(&self) -> bool

🔬This is a nightly-only experimental API. (can_vector)
Determines if this Reader has an efficient read_vectored implementation. Read more
1.0.0 · Source§

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

Reads all bytes until EOF in this source, placing them into buf. Read more
1.0.0 · Source§

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

Reads all bytes until EOF in this source, appending them to buf. Read more
1.6.0 · Source§

fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

Reads the exact number of bytes required to fill buf. Read more
Source§

fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>

🔬This is a nightly-only experimental API. (read_buf)
Pull some bytes from this source into the specified buffer. Read more
Source§

fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

🔬This is a nightly-only experimental API. (read_buf)
Reads the exact number of bytes required to fill cursor. Read more
1.0.0 · Source§

fn by_ref(&mut self) -> &mut Self
where diff --git a/cu29_unifiedlog/struct.UnifiedLoggerRead.html b/cu29_unifiedlog/struct.UnifiedLoggerRead.html index 6d9aa0f7f..1f36cd820 100644 --- a/cu29_unifiedlog/struct.UnifiedLoggerRead.html +++ b/cu29_unifiedlog/struct.UnifiedLoggerRead.html @@ -1,4 +1,4 @@ -UnifiedLoggerRead in cu29_unifiedlog - Rust
cu29_unifiedlog

Struct UnifiedLoggerRead

Source
pub struct UnifiedLoggerRead { /* private fields */ }
Expand description

A read side of the datalogger.

+UnifiedLoggerRead in cu29_unifiedlog - Rust

Struct UnifiedLoggerRead

Source
pub struct UnifiedLoggerRead { /* private fields */ }
Expand description

A read side of the datalogger.

Implementations§

Source§

impl UnifiedLoggerRead

Source

pub fn new(base_file_path: &Path) -> Result<Self>

Source

pub fn read_next_section_type( &mut self, datalogtype: UnifiedLogType, diff --git a/cu29_unifiedlog/struct.UnifiedLoggerWrite.html b/cu29_unifiedlog/struct.UnifiedLoggerWrite.html index 1f5182839..d80abf997 100644 --- a/cu29_unifiedlog/struct.UnifiedLoggerWrite.html +++ b/cu29_unifiedlog/struct.UnifiedLoggerWrite.html @@ -1,4 +1,4 @@ -UnifiedLoggerWrite in cu29_unifiedlog - Rust
cu29_unifiedlog

Struct UnifiedLoggerWrite

Source
pub struct UnifiedLoggerWrite { /* private fields */ }
Expand description

A write side of the datalogger.

+UnifiedLoggerWrite in cu29_unifiedlog - Rust

Struct UnifiedLoggerWrite

Source
pub struct UnifiedLoggerWrite { /* private fields */ }
Expand description

A write side of the datalogger.

Implementations§

Source§

impl UnifiedLoggerWrite

Source

pub fn flush_section(&mut self, section: &mut SectionHandle)

Source

pub fn stats(&self) -> (usize, Vec<usize>, usize)

Trait Implementations§

Source§

impl Drop for UnifiedLoggerWrite

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where diff --git a/help.html b/help.html index 33f300485..2f8ef6aa8 100644 --- a/help.html +++ b/help.html @@ -1 +1 @@ -Help

Rustdoc help

Back
\ No newline at end of file +Help

Rustdoc help

Back
\ No newline at end of file diff --git a/index.html b/index.html index 4732f54c9..77c03aedd 100644 --- a/index.html +++ b/index.html @@ -1,2 +1,2 @@ -Index of crates
+Index of crates
\ No newline at end of file diff --git a/settings.html b/settings.html index e263da4a9..22fec1e70 100644 --- a/settings.html +++ b/settings.html @@ -1 +1 @@ -Settings

Rustdoc settings

Back
\ No newline at end of file +Settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/src/cu29/lib.rs.html b/src/cu29/lib.rs.html index 5224c1a7a..947c02f64 100644 --- a/src/cu29/lib.rs.html +++ b/src/cu29/lib.rs.html @@ -1,4 +1,4 @@ -lib.rs - source

cu29/
lib.rs

+lib.rs - source

cu29/
lib.rs

 1
 2
 3
diff --git a/src/cu29_clock/lib.rs.html b/src/cu29_clock/lib.rs.html
index a5620f981..a2772d685 100644
--- a/src/cu29_clock/lib.rs.html
+++ b/src/cu29_clock/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source

cu29_clock/
lib.rs

+lib.rs - source

cu29_clock/
lib.rs

 1
 2
 3
diff --git a/src/cu29_derive/format.rs.html b/src/cu29_derive/format.rs.html
index 1e661f9ad..a37e67cdd 100644
--- a/src/cu29_derive/format.rs.html
+++ b/src/cu29_derive/format.rs.html
@@ -1,4 +1,4 @@
-format.rs - source

cu29_derive/
format.rs

+format.rs - source

cu29_derive/
format.rs

 1
 2
 3
diff --git a/src/cu29_derive/lib.rs.html b/src/cu29_derive/lib.rs.html
index 3199bb2bc..2554c285e 100644
--- a/src/cu29_derive/lib.rs.html
+++ b/src/cu29_derive/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source

cu29_derive/
lib.rs

+lib.rs - source

cu29_derive/
lib.rs

 1
 2
 3
diff --git a/src/cu29_derive/utils.rs.html b/src/cu29_derive/utils.rs.html
index ed08c34c5..0cc44a3fb 100644
--- a/src/cu29_derive/utils.rs.html
+++ b/src/cu29_derive/utils.rs.html
@@ -1,4 +1,4 @@
-utils.rs - source

cu29_derive/
utils.rs

+utils.rs - source

cu29_derive/
utils.rs

 1
 2
 3
diff --git a/src/cu29_export/lib.rs.html b/src/cu29_export/lib.rs.html
index e1ec5f2a6..0740366d7 100644
--- a/src/cu29_export/lib.rs.html
+++ b/src/cu29_export/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source

cu29_export/
lib.rs

+lib.rs - source

cu29_export/
lib.rs

 1
 2
 3
diff --git a/src/cu29_helpers/lib.rs.html b/src/cu29_helpers/lib.rs.html
index c9a355ac9..0b26a3ff3 100644
--- a/src/cu29_helpers/lib.rs.html
+++ b/src/cu29_helpers/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source

cu29_helpers/
lib.rs

+lib.rs - source

cu29_helpers/
lib.rs

 1
 2
 3
diff --git a/src/cu29_intern_strs/lib.rs.html b/src/cu29_intern_strs/lib.rs.html
index dc01d289c..1750c47e7 100644
--- a/src/cu29_intern_strs/lib.rs.html
+++ b/src/cu29_intern_strs/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source

cu29_intern_strs/
lib.rs

+lib.rs - source

cu29_intern_strs/
lib.rs

 1
 2
 3
diff --git a/src/cu29_log/lib.rs.html b/src/cu29_log/lib.rs.html
index b17d6566d..5b5fca976 100644
--- a/src/cu29_log/lib.rs.html
+++ b/src/cu29_log/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source

cu29_log/
lib.rs

+lib.rs - source

cu29_log/
lib.rs

 1
 2
 3
diff --git a/src/cu29_log_derive/index.rs.html b/src/cu29_log_derive/index.rs.html
index 34bbd7dc2..a6d10c1dc 100644
--- a/src/cu29_log_derive/index.rs.html
+++ b/src/cu29_log_derive/index.rs.html
@@ -1,4 +1,4 @@
-index.rs - source

cu29_log_derive/
index.rs

+index.rs - source

cu29_log_derive/
index.rs

 1
 2
 3
diff --git a/src/cu29_log_derive/lib.rs.html b/src/cu29_log_derive/lib.rs.html
index dd1864949..926cfb44e 100644
--- a/src/cu29_log_derive/lib.rs.html
+++ b/src/cu29_log_derive/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source

cu29_log_derive/
lib.rs

+lib.rs - source

cu29_log_derive/
lib.rs

 1
 2
 3
diff --git a/src/cu29_log_runtime/lib.rs.html b/src/cu29_log_runtime/lib.rs.html
index 5385e65e3..3ae7b9cea 100644
--- a/src/cu29_log_runtime/lib.rs.html
+++ b/src/cu29_log_runtime/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source

cu29_log_runtime/
lib.rs

+lib.rs - source

cu29_log_runtime/
lib.rs

 1
 2
 3
diff --git a/src/cu29_rendercfg/config.rs.html b/src/cu29_rendercfg/config.rs.html
index f0b0606d1..261848ce3 100644
--- a/src/cu29_rendercfg/config.rs.html
+++ b/src/cu29_rendercfg/config.rs.html
@@ -1,4 +1,4 @@
-config.rs - source

cu29_rendercfg/
config.rs

+config.rs - source

cu29_rendercfg/
config.rs

 1
 2
 3
diff --git a/src/cu29_rendercfg/rendercfg.rs.html b/src/cu29_rendercfg/rendercfg.rs.html
index d5bb17620..7a4761fc4 100644
--- a/src/cu29_rendercfg/rendercfg.rs.html
+++ b/src/cu29_rendercfg/rendercfg.rs.html
@@ -1,4 +1,4 @@
-rendercfg.rs - source

cu29_rendercfg/
rendercfg.rs

+rendercfg.rs - source

cu29_rendercfg/
rendercfg.rs

 1
 2
 3
diff --git a/src/cu29_runtime/config.rs.html b/src/cu29_runtime/config.rs.html
index 26278261a..c7ed7b3c3 100644
--- a/src/cu29_runtime/config.rs.html
+++ b/src/cu29_runtime/config.rs.html
@@ -1,4 +1,4 @@
-config.rs - source

cu29_runtime/
config.rs

+config.rs - source

cu29_runtime/
config.rs

 1
 2
 3
diff --git a/src/cu29_runtime/copperlist.rs.html b/src/cu29_runtime/copperlist.rs.html
index 6ac4331dc..dd00024eb 100644
--- a/src/cu29_runtime/copperlist.rs.html
+++ b/src/cu29_runtime/copperlist.rs.html
@@ -1,4 +1,4 @@
-copperlist.rs - source

cu29_runtime/
copperlist.rs

+copperlist.rs - source

cu29_runtime/
copperlist.rs

 1
 2
 3
diff --git a/src/cu29_runtime/curuntime.rs.html b/src/cu29_runtime/curuntime.rs.html
index 12fc3bdcf..fe171df3a 100644
--- a/src/cu29_runtime/curuntime.rs.html
+++ b/src/cu29_runtime/curuntime.rs.html
@@ -1,4 +1,4 @@
-curuntime.rs - source

cu29_runtime/
curuntime.rs

+curuntime.rs - source

cu29_runtime/
curuntime.rs

 1
 2
 3
diff --git a/src/cu29_runtime/cutask.rs.html b/src/cu29_runtime/cutask.rs.html
index e868a1f0f..096436f5f 100644
--- a/src/cu29_runtime/cutask.rs.html
+++ b/src/cu29_runtime/cutask.rs.html
@@ -1,4 +1,4 @@
-cutask.rs - source

cu29_runtime/
cutask.rs

+cutask.rs - source

cu29_runtime/
cutask.rs

 1
 2
 3
diff --git a/src/cu29_runtime/lib.rs.html b/src/cu29_runtime/lib.rs.html
index 84a3b27a9..6598fe489 100644
--- a/src/cu29_runtime/lib.rs.html
+++ b/src/cu29_runtime/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source

cu29_runtime/
lib.rs

+lib.rs - source

cu29_runtime/
lib.rs

 1
 2
 3
diff --git a/src/cu29_runtime/log.rs.html b/src/cu29_runtime/log.rs.html
index 00b3ccfd0..4c5c0e426 100644
--- a/src/cu29_runtime/log.rs.html
+++ b/src/cu29_runtime/log.rs.html
@@ -1,4 +1,4 @@
-log.rs - source

cu29_runtime/
log.rs

+log.rs - source

cu29_runtime/
log.rs

 1
 2
 3
diff --git a/src/cu29_runtime/monitoring.rs.html b/src/cu29_runtime/monitoring.rs.html
index ebc0e5de8..a99327266 100644
--- a/src/cu29_runtime/monitoring.rs.html
+++ b/src/cu29_runtime/monitoring.rs.html
@@ -1,4 +1,4 @@
-monitoring.rs - source

cu29_runtime/
monitoring.rs

+monitoring.rs - source

cu29_runtime/
monitoring.rs

 1
 2
 3
diff --git a/src/cu29_runtime/payload.rs.html b/src/cu29_runtime/payload.rs.html
index 86fb5da72..8d86ae0df 100644
--- a/src/cu29_runtime/payload.rs.html
+++ b/src/cu29_runtime/payload.rs.html
@@ -1,4 +1,4 @@
-payload.rs - source

cu29_runtime/
payload.rs

+payload.rs - source

cu29_runtime/
payload.rs

 1
 2
 3
diff --git a/src/cu29_runtime/pool.rs.html b/src/cu29_runtime/pool.rs.html
index 7a4fca404..5a6361c82 100644
--- a/src/cu29_runtime/pool.rs.html
+++ b/src/cu29_runtime/pool.rs.html
@@ -1,4 +1,4 @@
-pool.rs - source

cu29_runtime/
pool.rs

+pool.rs - source

cu29_runtime/
pool.rs

 1
 2
 3
diff --git a/src/cu29_runtime/simulation.rs.html b/src/cu29_runtime/simulation.rs.html
index f9edb1239..dd27510d3 100644
--- a/src/cu29_runtime/simulation.rs.html
+++ b/src/cu29_runtime/simulation.rs.html
@@ -1,4 +1,4 @@
-simulation.rs - source

cu29_runtime/
simulation.rs

+simulation.rs - source

cu29_runtime/
simulation.rs

 1
 2
 3
diff --git a/src/cu29_soa_derive/format.rs.html b/src/cu29_soa_derive/format.rs.html
index 189ed9db7..7408ac608 100644
--- a/src/cu29_soa_derive/format.rs.html
+++ b/src/cu29_soa_derive/format.rs.html
@@ -1,4 +1,4 @@
-format.rs - source

cu29_soa_derive/
format.rs

+format.rs - source

cu29_soa_derive/
format.rs

 1
 2
 3
diff --git a/src/cu29_soa_derive/lib.rs.html b/src/cu29_soa_derive/lib.rs.html
index 109f553be..09fca2e38 100644
--- a/src/cu29_soa_derive/lib.rs.html
+++ b/src/cu29_soa_derive/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source

cu29_soa_derive/
lib.rs

+lib.rs - source

cu29_soa_derive/
lib.rs

 1
 2
 3
diff --git a/src/cu29_traits/lib.rs.html b/src/cu29_traits/lib.rs.html
index b8e2be352..07085c5e4 100644
--- a/src/cu29_traits/lib.rs.html
+++ b/src/cu29_traits/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source

cu29_traits/
lib.rs

+lib.rs - source

cu29_traits/
lib.rs

 1
 2
 3
diff --git a/src/cu29_unifiedlog/lib.rs.html b/src/cu29_unifiedlog/lib.rs.html
index d536b3608..064ad4a4f 100644
--- a/src/cu29_unifiedlog/lib.rs.html
+++ b/src/cu29_unifiedlog/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source

cu29_unifiedlog/
lib.rs

+lib.rs - source

cu29_unifiedlog/
lib.rs

 1
 2
 3
diff --git a/static.files/rustdoc-5d1d17d0.css b/static.files/rustdoc-5d1d17d0.css
deleted file mode 100644
index 12df5a2e0..000000000
--- a/static.files/rustdoc-5d1d17d0.css
+++ /dev/null
@@ -1,53 +0,0 @@
- :root{--nav-sub-mobile-padding:8px;--search-typename-width:6.75rem;--desktop-sidebar-width:200px;--src-sidebar-width:300px;--desktop-sidebar-z-index:100;--sidebar-elems-left-padding:24px;--clipboard-image:url('data:image/svg+xml,\
-\
-\
-');--copy-path-height:34px;--copy-path-width:33px;--checkmark-image:url('data:image/svg+xml,\
-\
-');--button-left-margin:4px;--button-border-radius:2px;--toolbar-button-border-radius:6px;--code-block-border-radius:6px;--impl-items-indent:0.3em;--docblock-indent:24px;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular-0fe48ade.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium-e1aa3f0a.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular-6b053e98.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It-ca3b17ed.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold-6d4fd4c0.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular-8badfe75.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It-fc8b9304.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold-aa29a496.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic-13b3dcba.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{box-sizing:border-box;}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:25px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}.docblock>h2:first-child,.docblock>h3:first-child,.docblock>h4:first-child,.docblock>h5:first-child,.docblock>h6:first-child{margin-top:0;}.main-heading h1{margin:0;padding:0;grid-area:main-heading-h1;overflow-wrap:break-word;overflow-wrap:anywhere;}.main-heading{position:relative;display:grid;grid-template-areas:"main-heading-breadcrumbs main-heading-breadcrumbs" "main-heading-h1 main-heading-toolbar" "main-heading-sub-heading main-heading-toolbar";grid-template-columns:minmax(105px,1fr) minmax(0,max-content);grid-template-rows:minmax(25px,min-content) min-content min-content;padding-bottom:6px;margin-bottom:15px;}.rustdoc-breadcrumbs{grid-area:main-heading-breadcrumbs;line-height:1.25;display:flex;flex-wrap:wrap;align-items:end;padding-top:5px;}.rustdoc-breadcrumbs a{padding:4px 0;margin:-4px 0;z-index:1;}.content h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h1,h2{line-height:1.25;padding-top:3px;padding-bottom:9px;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;white-space:pre-wrap;}.structfield,.sub-variant-field{margin:0.6em 0;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-table dt>a,.out-of-band,.sub-heading,span.since,a.src,rustdoc-toolbar,summary.hideme,.scraped-example-list,.rustdoc-breadcrumbs,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.section-header a,#src-sidebar a,.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.search-results li,.stab,.result-name i{color:var(--main-color);}span.enum,a.enum,span.struct,a.struct,span.union,a.union,span.primitive,a.primitive,span.type,a.type,span.foreigntype,a.foreigntype{color:var(--type-link-color);}span.trait,a.trait,span.traitalias,a.traitalias{color:var(--trait-link-color);}span.associatedtype,a.associatedtype,span.constant,a.constant,span.static,a.static{color:var(--assoc-item-link-color);}span.fn,a.fn,span.method,a.method,span.tymethod,a.tymethod{color:var(--function-link-color);}span.attr,a.attr,span.derive,a.derive,span.macro,a.macro{color:var(--macro-link-color);}span.mod,a.mod{color:var(--mod-link-color);}span.keyword,a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);text-decoration:none;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p,.docblock>.warning{margin:0 0 .75em 0;}p:last-child,.docblock>.warning:last-child{margin:0;}button{padding:1px 6px;cursor:pointer;}button#toggle-all-docs{padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.src main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}details:not(.toggle) summary{margin-bottom:.6em;}code,pre,.code-header,.type-signature{font-family:"Source Code Pro",monospace;}.docblock code,.item-table dd code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.item-table dd pre code{padding:0;}pre{padding:14px;line-height:1.5;}pre.item-decl{overflow-x:auto;}.item-decl .type-contents-toggle{contain:initial;}.src .content pre{padding:20px;}.rustdoc.src .example-wrap .src-line-numbers{padding:20px 0 20px 4px;}img{max-width:100%;}.logo-container{line-height:0;display:block;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar{font-size:0.875rem;flex:0 0 var(--desktop-sidebar-width);width:var(--desktop-sidebar-width);overflow-y:scroll;overscroll-behavior:contain;position:sticky;height:100vh;top:0;left:0;z-index:var(--desktop-sidebar-z-index);}.rustdoc.src .sidebar{flex-basis:50px;width:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.hide-sidebar .sidebar,.hide-sidebar .sidebar-resizer{display:none;}.sidebar-resizer{touch-action:none;width:9px;cursor:col-resize;z-index:calc(var(--desktop-sidebar-z-index) + 1);position:fixed;height:100%;left:calc(var(--desktop-sidebar-width) + 1px);}.rustdoc.src .sidebar-resizer{left:49px;}.src-sidebar-expanded .src .sidebar-resizer{left:var(--src-sidebar-width);}.sidebar-resizing{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.sidebar-resizing*{cursor:col-resize !important;}.sidebar-resizing .sidebar{position:fixed;}.sidebar-resizing>body{padding-left:var(--resizing-sidebar-width);}.sidebar-resizer:hover,.sidebar-resizer:active,.sidebar-resizer:focus,.sidebar-resizer.active{width:10px;margin:0;left:var(--desktop-sidebar-width);border-left:solid 1px var(--sidebar-resizer-hover);}.src-sidebar-expanded .rustdoc.src .sidebar-resizer:hover,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:active,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:focus,.src-sidebar-expanded .rustdoc.src .sidebar-resizer.active{left:calc(var(--src-sidebar-width) - 1px);}@media (pointer:coarse){.sidebar-resizer{display:none !important;}}.sidebar-resizer.active{padding:0 140px;width:2px;margin-left:-140px;border-left:none;}.sidebar-resizer.active:before{border-left:solid 2px var(--sidebar-resizer-active);display:block;height:100%;content:"";}.sidebar,.mobile-topbar,.sidebar-menu-toggle,#src-sidebar{background-color:var(--sidebar-background-color);}.src .sidebar>*{visibility:hidden;}.src-sidebar-expanded .src .sidebar{overflow-y:auto;flex-basis:var(--src-sidebar-width);width:var(--src-sidebar-width);}.src-sidebar-expanded .src .sidebar>*{visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.logo-container>img{height:48px;width:48px;}ul.block,.block li,.block ul{padding:0;margin:0;list-style:none;}.block ul a{padding-left:1rem;}.sidebar-elems a,.sidebar>h2 a{display:block;padding:0.25rem;margin-right:0.25rem;border-left:solid var(--sidebar-elems-left-padding) transparent;margin-left:calc(-0.25rem - var(--sidebar-elems-left-padding));background-clip:border-box;}.hide-toc #rustdoc-toc,.hide-toc .in-crate{display:none;}.hide-modnav #rustdoc-modnav{display:none;}.sidebar h2{text-wrap:balance;overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{text-wrap:balance;overflow-wrap:anywhere;font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>.version,.sidebar>h2{padding-left:var(--sidebar-elems-left-padding);}.sidebar a{color:var(--sidebar-link-color);}.sidebar .current,.sidebar .current a,.sidebar-crate a.logo-container:hover+h2 a,.sidebar a:hover:not(.logo-container){background-color:var(--sidebar-current-link-background-color);}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.sidebar-crate{display:flex;align-items:center;justify-content:center;margin:14px 32px 1rem;row-gap:10px;column-gap:32px;flex-wrap:wrap;}.sidebar-crate h2{flex-grow:1;margin:0 -8px;align-self:start;}.sidebar-crate .logo-container{margin:0 calc(-16px - var(--sidebar-elems-left-padding));padding:0 var(--sidebar-elems-left-padding);text-align:center;}.sidebar-crate .logo-container img{margin-top:-16px;border-top:solid 16px transparent;box-sizing:content-box;position:relative;background-clip:border-box;z-index:1;}.sidebar-crate h2 a{display:block;border-left:solid var(--sidebar-elems-left-padding) transparent;background-clip:border-box;margin:0 calc(-24px + 0.25rem) 0 calc(-0.2rem - var(--sidebar-elems-left-padding));padding:calc((16px - 0.57rem ) / 2 ) 0.25rem;padding-left:0.2rem;}.sidebar-crate h2 .version{display:block;font-weight:normal;font-size:1rem;overflow-wrap:break-word;}.sidebar-crate+.version{margin-top:-1rem;margin-bottom:1rem;}.mobile-topbar{display:none;}.rustdoc .example-wrap{display:flex;position:relative;margin-bottom:10px;}.rustdoc .example-wrap>pre,.rustdoc .scraped-example .src-line-numbers,.rustdoc .scraped-example .src-line-numbers>pre{border-radius:6px;}.rustdoc .example-wrap>.example-line-numbers,.rustdoc .scraped-example .src-line-numbers,.rustdoc .scraped-example .src-line-numbers>pre{border-top-right-radius:0;border-bottom-right-radius:0;}.rustdoc .example-wrap>.example-line-numbers+pre,.rustdoc .scraped-example .rust{border-top-left-radius:0;border-bottom-left-radius:0;}.rustdoc .scraped-example{position:relative;}.rustdoc .example-wrap:last-child{margin-bottom:0px;}.rustdoc .example-wrap pre{margin:0;flex-grow:1;}.scraped-example:not(.expanded) .example-wrap{max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .example-wrap{max-height:calc(1.5em * 10 + 10px);}.rustdoc:not(.src) .scraped-example:not(.expanded) .src-line-numbers,.rustdoc:not(.src) .scraped-example:not(.expanded) .src-line-numbers>pre,.rustdoc:not(.src) .scraped-example:not(.expanded) pre.rust{padding-bottom:0;overflow:auto hidden;}.rustdoc:not(.src) .scraped-example .src-line-numbers{padding-top:0;}.rustdoc:not(.src) .scraped-example.expanded .src-line-numbers{padding-bottom:0;}.rustdoc:not(.src) .example-wrap pre{overflow:auto;}.rustdoc .example-wrap pre.example-line-numbers,.rustdoc .example-wrap .src-line-numbers{min-width:fit-content;flex-grow:0;text-align:right;-webkit-user-select:none;user-select:none;padding:14px 8px;padding-right:2px;color:var(--src-line-numbers-span-color);}.rustdoc .scraped-example .example-wrap .src-line-numbers{padding:0;}.rustdoc .src-line-numbers pre{padding:14px 0;}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);padding:0 8px;}.src-line-numbers :target{background-color:transparent;border-right:none;padding:0 8px;}.src-line-numbers .line-highlighted{background-color:var(--src-line-number-highlighted-background-color);}.search-loading{text-align:center;}.item-table dd{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock :not(pre)>code,.item-table dd code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:var(--docblock-indent);position:relative;}.docblock>:not(.more-examples-toggle):not(.example-wrap){max-width:100%;overflow-x:auto;}.sub-heading{font-size:1rem;flex-grow:0;grid-area:main-heading-sub-heading;line-height:1.25;padding-bottom:4px;}.main-heading rustdoc-toolbar,.main-heading .out-of-band{grid-area:main-heading-toolbar;}rustdoc-toolbar{display:flex;flex-direction:row;flex-wrap:nowrap;min-height:60px;}.docblock code,.item-table dd code,pre,.rustdoc.src .example-wrap,.example-wrap .src-line-numbers{background-color:var(--code-block-background-color);border-radius:var(--code-block-border-radius);text-decoration:inherit;}#main-content{position:relative;}.docblock table{margin:.5em 0;border-collapse:collapse;}.docblock table td,.docblock table th{padding:.5em;border:1px solid var(--border-color);}.docblock table tbody tr:nth-child(2n){background:var(--table-alt-row-background-color);}.docblock .stab,.item-table dd .stab,.docblock p code{display:inline-block;}.docblock li{margin-bottom:.4em;}.docblock li p:not(:last-child){margin-bottom:.3em;}div.where{white-space:pre-wrap;font-size:0.875rem;}.item-info{display:block;margin-left:var(--docblock-indent);}.impl-items>.item-info{margin-left:calc(var(--docblock-indent) + var(--impl-items-indent));}.item-info code{font-size:0.875rem;}#main-content>.item-info{margin-left:0;}nav.sub{flex-grow:1;flex-flow:row nowrap;margin:4px 0 0 0;display:flex;align-items:center;}.search-form{position:relative;display:flex;height:34px;flex-grow:1;margin-bottom:4px;}.src nav.sub{margin:0 0 -10px 0;}.section-header{display:block;position:relative;}.section-header:hover>.anchor,.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:initial;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.section-header>.anchor{left:-15px;padding-right:8px;}h2.section-header>.anchor{padding-right:6px;}a.doc-anchor{color:var(--main-color);display:none;position:absolute;left:-17px;padding-right:10px;padding-left:3px;}*:hover>.doc-anchor{display:block;}.top-doc>.docblock>*:first-child>.doc-anchor{display:none !important;}.main-heading a:hover,.example-wrap .rust a:hover,.all-items a:hover,.docblock a:not(.scrape-help):not(.tooltip):hover:not(.doc-anchor),.item-table dd a:not(.scrape-help):not(.tooltip):hover,.item-info a{text-decoration:underline;}.crate.block li.current a{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{padding:0;margin:0;width:100%;}.item-table>dt{padding-right:1.25rem;}.item-table>dd{margin-inline-start:0;margin-left:0;}.search-results-title{margin-top:0;white-space:nowrap;display:flex;align-items:baseline;}.search-results-title+.sub-heading{color:var(--main-color);display:flex;align-items:baseline;white-space:nowrap;}#crate-search-div{position:relative;min-width:0;}#crate-search{padding:0 23px 0 4px;max-width:100%;text-overflow:ellipsis;border:1px solid var(--border-color);border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;background-color:var(--main-background-color);color:inherit;line-height:1.5;font-weight:500;}#crate-search:hover,#crate-search:focus{border-color:var(--crate-search-hover-border);}#crate-search-div::after{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;content:"";background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 2px) 56%;background-image:url('data:image/svg+xml, \
-	');filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;margin:0;padding:0;}.search-results>a{display:grid;grid-template-areas:"search-result-name search-result-desc" "search-result-type-signature search-result-type-signature";grid-template-columns:.6fr .4fr;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);column-gap:1em;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;grid-area:search-result-desc;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name{display:flex;align-items:center;justify-content:start;grid-area:search-result-name;}.search-results .result-name .alias{color:var(--search-results-alias-color);}.search-results .result-name .grey{color:var(--search-results-grey-color);}.search-results .result-name .typename{color:var(--search-results-grey-color);font-size:0.875rem;width:var(--search-typename-width);}.search-results .result-name .path{word-break:break-all;max-width:calc(100% - var(--search-typename-width));display:inline-block;}.search-results .result-name .path>*{display:inline;}.search-results .type-signature{grid-area:search-result-type-signature;white-space:pre-wrap;}.popover{position:absolute;top:100%;right:0;z-index:calc(var(--desktop-sidebar-z-index) + 1);margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}.setting-line{margin:1.2em 0.6em;}.setting-radio input,.setting-check input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:2px solid var(--settings-input-border-color);outline:none;-webkit-appearance:none;cursor:pointer;}.setting-radio input{border-radius:50%;}.setting-radio span,.setting-check span{padding-bottom:1px;}.setting-radio{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.setting-radio+.setting-radio{margin-left:0.5em;}.setting-check{margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-radio input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-check input:checked{background-color:var(--settings-input-color);border-width:1px;content:url('data:image/svg+xml,\
-		\
-		');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#settings.popover{--popover-arrow-offset:202px;top:calc(100% - 16px);}#help.popover{max-width:600px;--popover-arrow-offset:118px;top:calc(100% - 16px);}#help dt{float:left;clear:left;margin-right:0.5rem;}#help dd{margin-bottom:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;padding:0 0.5rem;text-wrap-style:balance;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side{display:flex;margin-bottom:20px;}.side-by-side>div{width:50%;padding:0 20px 0 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-table dt .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band,.sub-heading,rustdoc-toolbar{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}.top-doc>.docblock>.warning:first-child::before{top:20px;}.example-wrap>a.test-arrow,.example-wrap .button-holder{visibility:hidden;position:absolute;top:4px;right:4px;z-index:1;}a.test-arrow{height:var(--copy-path-height);padding:6px 4px 0 11px;}a.test-arrow::before{content:url('data:image/svg+xml,');}.example-wrap .button-holder{display:flex;}@media not (pointer:coarse){.example-wrap:hover>a.test-arrow,.example-wrap:hover>.button-holder{visibility:visible;}}.example-wrap .button-holder.keep-visible{visibility:visible;}.example-wrap .button-holder>*{background:var(--main-background-color);cursor:pointer;border-radius:var(--button-border-radius);height:var(--copy-path-height);width:var(--copy-path-width);border:0;color:var(--code-example-button-color);}.example-wrap .button-holder>*:hover{color:var(--code-example-button-hover-color);}.example-wrap .button-holder>*:not(:first-child){margin-left:var(--button-left-margin);}.example-wrap .button-holder .copy-button{padding:2px 0 0 4px;}.example-wrap .button-holder .copy-button::before,.example-wrap .test-arrow::before{filter:var(--copy-path-img-filter);}.example-wrap .button-holder .copy-button::before{content:var(--clipboard-image);}.example-wrap .button-holder .copy-button:hover::before,.example-wrap .test-arrow:hover::before{filter:var(--copy-path-img-hover-filter);}.example-wrap .button-holder .copy-button.clicked::before{content:var(--checkmark-image);padding-right:5px;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.main-heading span.since::before{content:"Since ";}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}@keyframes targetfadein{from{background-color:var(--main-background-color);}10%{background-color:var(--target-border-color);}to{background-color:var(--target-background-color);}}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}@media not (prefers-reduced-motion){:target{animation:0.65s cubic-bezier(0,0,0.1,1.0) 0.1s targetfadein;}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{margin-top:0.25rem;display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}.src-sidebar-title{position:sticky;top:0;display:flex;padding:8px 8px 0 48px;margin-bottom:7px;background:var(--sidebar-background-color);border-bottom:1px solid var(--border-color);}#settings-menu,#help-button,button#toggle-all-docs{margin-left:var(--button-left-margin);display:flex;line-height:1.25;min-width:14px;}#sidebar-button{display:none;line-height:0;}.hide-sidebar #sidebar-button,.src #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}.src #sidebar-button{left:8px;z-index:calc(var(--desktop-sidebar-z-index) + 1);}.hide-sidebar .src #sidebar-button{position:static;}#settings-menu>a,#help-button>a,#sidebar-button>a,button#toggle-all-docs{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid transparent;border-radius:var(--button-border-radius);color:var(--main-color);}#settings-menu>a,#help-button>a,button#toggle-all-docs{width:80px;border-radius:var(--toolbar-button-border-radius);}#settings-menu>a,#help-button>a{min-width:0;}#sidebar-button>a{background-color:var(--button-background-color);border-color:var(--border-color);width:33px;}#settings-menu>a:hover,#settings-menu>a:focus-visible,#help-button>a:hover,#help-button>a:focus-visible,#sidebar-button>a:hover,#sidebar-button>a:focus-visible,button#toggle-all-docs:hover,button#toggle-all-docs:focus-visible{border-color:var(--settings-button-border-focus);text-decoration:none;}#settings-menu>a:before{content:url('data:image/svg+xml,\
-	');width:18px;height:18px;filter:var(--settings-menu-filter);}button#toggle-all-docs:before{content:url('data:image/svg+xml,\
-	');width:18px;height:18px;filter:var(--settings-menu-filter);}#help-button>a:before{content:url('data:image/svg+xml,\
-	\
-	?');width:18px;height:18px;filter:var(--settings-menu-filter);}button#toggle-all-docs:before,#help-button>a:before,#settings-menu>a:before{filter:var(--settings-menu-filter);margin:8px;}@media not (pointer:coarse){button#toggle-all-docs:hover:before,#help-button>a:hover:before,#settings-menu>a:hover:before{filter:var(--settings-menu-hover-filter);}}button[disabled]#toggle-all-docs{opacity:0.25;border:solid 1px var(--main-background-color);background-size:cover;}button[disabled]#toggle-all-docs:hover{border:solid 1px var(--main-background-color);cursor:not-allowed;}rustdoc-toolbar span.label{font-size:1rem;flex-grow:1;padding-bottom:4px;}#sidebar-button>a:before{content:url('data:image/svg+xml,\
-		\
-		\
-		');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:var(--copy-path-height);width:var(--copy-path-width);margin-left:10px;padding:0;padding-left:2px;border:0;font-size:0;}#copy-path::before{filter:var(--copy-path-img-filter);content:var(--clipboard-image);}#copy-path:hover::before{filter:var(--copy-path-img-hover-filter);}#copy-path.clicked::before{content:var(--checkmark-image);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.big-toggle{contain:inline-size;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,\
-	');content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}.impl-items>*:not(.item-info),.implementors-toggle>.docblock{margin-left:var(--impl-items-indent);}details.big-toggle>summary:not(.hideme)::before{left:-34px;top:9px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url('data:image/svg+xml,\
-	');}details.toggle[open] >summary::after{content:"Collapse";}details.toggle:not([open])>summary .docblock{max-height:calc(1.5em + 0.75em);overflow-y:hidden;}details.toggle:not([open])>summary .docblock>:first-child{max-width:100%;overflow:hidden;width:fit-content;white-space:nowrap;position:relative;padding-right:1em;}details.toggle:not([open])>summary .docblock>:first-child::after{content:"…";position:absolute;right:0;top:0;bottom:0;z-index:1;background-color:var(--main-background-color);font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;padding-left:0.2em;}details.toggle:not([open])>summary .docblock>div:first-child::after{padding-top:calc(1.5em + 0.75em - 1.2rem);}details.toggle>summary .docblock{margin-top:0.75em;}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}.src #sidebar-button>a:before,.sidebar-menu-toggle:before{content:url('data:image/svg+xml,\
-		');opacity:0.75;}.sidebar-menu-toggle:hover:before,.sidebar-menu-toggle:active:before,.sidebar-menu-toggle:focus:before{opacity:1;}.src #sidebar-button>a:before{content:url('data:image/svg+xml,\
-		\
-		\
-		');opacity:0.75;}@media (max-width:850px){#search-tabs .count{display:block;}.side-by-side{flex-direction:column-reverse;}.side-by-side>div{width:auto;}}@media (max-width:700px){:root{--impl-items-indent:0.7em;}*[id]{scroll-margin-top:45px;}#copy-path{width:0;visibility:hidden;}rustdoc-toolbar span.label{display:none;}#settings-menu>a,#help-button>a,button#toggle-all-docs{width:33px;}#settings.popover{--popover-arrow-offset:86px;}#help.popover{--popover-arrow-offset:48px;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.sidebar .logo-container,.sidebar .location,.sidebar-resizer{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.src main,.rustdoc.src .sidebar{top:0;padding:0;height:100vh;border:0;}.src .search-form{margin-left:40px;}.src .main-heading{margin-left:8px;}.hide-sidebar .search-form{margin-left:32px;}.hide-sidebar .src .search-form{margin-left:0;}.sidebar.shown,.src-sidebar-expanded .src .sidebar,.rustdoc:not(.src) .sidebar:focus-within{left:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;white-space:nowrap;text-overflow:ellipsis;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.hide-sidebar .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;border:none;line-height:0;}.hide-sidebar .sidebar-menu-toggle{display:none;}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#sidebar-button>a:before{content:url('data:image/svg+xml,\
-			\
-			\
-			');width:22px;height:22px;}.sidebar-menu-toggle:before{filter:var(--mobile-sidebar-menu-filter);}.sidebar-menu-toggle:hover{background:var(--main-background-color);}.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table dd{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{position:fixed;max-width:100vw;width:100vw;}.src .src-sidebar-title{padding-top:0;}details.implementors-toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before{left:-20px;}summary>.item-info{margin-left:10px;}.impl-items>.item-info{margin-left:calc(var(--impl-items-indent) + 10px);}.src nav.sub{margin:0 0 -25px 0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}.item-table:not(.reexports){display:grid;grid-template-columns:33% 67%;}.item-table>dt,.item-table>dd{overflow-wrap:anywhere;}.item-table>dt{grid-column-start:1;}.item-table>dd{grid-column-start:2;}}@media print{:root{--docblock-indent:0;}nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}main{padding:10px;}}@media (max-width:464px){:root{--docblock-indent:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example:not(.expanded) .example-wrap::before,.scraped-example:not(.expanded) .example-wrap::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .example-wrap::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .example-wrap::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded){width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded){overflow-x:hidden;}.scraped-example .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"],:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#595959;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#a5a5a5;--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(65%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--code-example-button-color:#b2b2b2;--code-example-button-hover-color:#fff;--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--settings-menu-filter:invert(70%);--settings-menu-hover-filter:invert(100%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);}
\ No newline at end of file
diff --git a/static.files/rustdoc-e7950ecc.css b/static.files/rustdoc-e7950ecc.css
new file mode 100644
index 000000000..c3fc6df9d
--- /dev/null
+++ b/static.files/rustdoc-e7950ecc.css
@@ -0,0 +1,53 @@
+ :root{--nav-sub-mobile-padding:8px;--search-typename-width:6.75rem;--desktop-sidebar-width:200px;--src-sidebar-width:300px;--desktop-sidebar-z-index:100;--sidebar-elems-left-padding:24px;--clipboard-image:url('data:image/svg+xml,\
+\
+\
+');--copy-path-height:34px;--copy-path-width:33px;--checkmark-image:url('data:image/svg+xml,\
+\
+');--button-left-margin:4px;--button-border-radius:2px;--toolbar-button-border-radius:6px;--code-block-border-radius:6px;--impl-items-indent:0.3em;--docblock-indent:24px;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular-0fe48ade.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium-e1aa3f0a.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular-6b053e98.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It-ca3b17ed.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold-6d4fd4c0.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular-8badfe75.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It-fc8b9304.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold-aa29a496.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic-13b3dcba.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{box-sizing:border-box;}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:25px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}.docblock>h2:first-child,.docblock>h3:first-child,.docblock>h4:first-child,.docblock>h5:first-child,.docblock>h6:first-child{margin-top:0;}.main-heading h1{margin:0;padding:0;grid-area:main-heading-h1;overflow-wrap:break-word;overflow-wrap:anywhere;}.main-heading{position:relative;display:grid;grid-template-areas:"main-heading-breadcrumbs main-heading-breadcrumbs" "main-heading-h1 main-heading-toolbar" "main-heading-sub-heading main-heading-toolbar";grid-template-columns:minmax(105px,1fr) minmax(0,max-content);grid-template-rows:minmax(25px,min-content) min-content min-content;padding-bottom:6px;margin-bottom:15px;}.rustdoc-breadcrumbs{grid-area:main-heading-breadcrumbs;line-height:1.25;padding-top:5px;position:relative;z-index:1;}.rustdoc-breadcrumbs a{padding:5px 0 7px;}.content h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h1,h2{line-height:1.25;padding-top:3px;padding-bottom:9px;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;white-space:pre-wrap;}.structfield,.sub-variant-field{margin:0.6em 0;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-table dt>a,.out-of-band,.sub-heading,span.since,a.src,rustdoc-toolbar,summary.hideme,.scraped-example-list,.rustdoc-breadcrumbs,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.section-header a,#src-sidebar a,.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.search-results li,.stab,.result-name i{color:var(--main-color);}span.enum,a.enum,span.struct,a.struct,span.union,a.union,span.primitive,a.primitive,span.type,a.type,span.foreigntype,a.foreigntype{color:var(--type-link-color);}span.trait,a.trait,span.traitalias,a.traitalias{color:var(--trait-link-color);}span.associatedtype,a.associatedtype,span.constant,a.constant,span.static,a.static{color:var(--assoc-item-link-color);}span.fn,a.fn,span.method,a.method,span.tymethod,a.tymethod{color:var(--function-link-color);}span.attr,a.attr,span.derive,a.derive,span.macro,a.macro{color:var(--macro-link-color);}span.mod,a.mod{color:var(--mod-link-color);}span.keyword,a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);text-decoration:none;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p,.docblock>.warning{margin:0 0 .75em 0;}p:last-child,.docblock>.warning:last-child{margin:0;}button{padding:1px 6px;cursor:pointer;}button#toggle-all-docs{padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.src main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}details:not(.toggle) summary{margin-bottom:.6em;}code,pre,.code-header,.type-signature{font-family:"Source Code Pro",monospace;}.docblock code,.item-table dd code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.item-table dd pre code{padding:0;}pre{padding:14px;line-height:1.5;}pre.item-decl{overflow-x:auto;}.item-decl .type-contents-toggle{contain:initial;}.src .content pre{padding:20px;}.rustdoc.src .example-wrap .src-line-numbers{padding:20px 0 20px 4px;}img{max-width:100%;}.logo-container{line-height:0;display:block;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar{font-size:0.875rem;flex:0 0 var(--desktop-sidebar-width);width:var(--desktop-sidebar-width);overflow-y:scroll;overscroll-behavior:contain;position:sticky;height:100vh;top:0;left:0;z-index:var(--desktop-sidebar-z-index);}.rustdoc.src .sidebar{flex-basis:50px;width:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.hide-sidebar .sidebar,.hide-sidebar .sidebar-resizer{display:none;}.sidebar-resizer{touch-action:none;width:9px;cursor:col-resize;z-index:calc(var(--desktop-sidebar-z-index) + 1);position:fixed;height:100%;left:calc(var(--desktop-sidebar-width) + 1px);}.rustdoc.src .sidebar-resizer{left:49px;}.src-sidebar-expanded .src .sidebar-resizer{left:var(--src-sidebar-width);}.sidebar-resizing{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.sidebar-resizing*{cursor:col-resize !important;}.sidebar-resizing .sidebar{position:fixed;}.sidebar-resizing>body{padding-left:var(--resizing-sidebar-width);}.sidebar-resizer:hover,.sidebar-resizer:active,.sidebar-resizer:focus,.sidebar-resizer.active{width:10px;margin:0;left:var(--desktop-sidebar-width);border-left:solid 1px var(--sidebar-resizer-hover);}.src-sidebar-expanded .rustdoc.src .sidebar-resizer:hover,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:active,.src-sidebar-expanded .rustdoc.src .sidebar-resizer:focus,.src-sidebar-expanded .rustdoc.src .sidebar-resizer.active{left:calc(var(--src-sidebar-width) - 1px);}@media (pointer:coarse){.sidebar-resizer{display:none !important;}}.sidebar-resizer.active{padding:0 140px;width:2px;margin-left:-140px;border-left:none;}.sidebar-resizer.active:before{border-left:solid 2px var(--sidebar-resizer-active);display:block;height:100%;content:"";}.sidebar,.mobile-topbar,.sidebar-menu-toggle,#src-sidebar{background-color:var(--sidebar-background-color);}.src .sidebar>*{visibility:hidden;}.src-sidebar-expanded .src .sidebar{overflow-y:auto;flex-basis:var(--src-sidebar-width);width:var(--src-sidebar-width);}.src-sidebar-expanded .src .sidebar>*{visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.logo-container>img{height:48px;width:48px;}ul.block,.block li,.block ul{padding:0;margin:0;list-style:none;}.block ul a{padding-left:1rem;}.sidebar-elems a,.sidebar>h2 a{display:block;padding:0.25rem;margin-right:0.25rem;border-left:solid var(--sidebar-elems-left-padding) transparent;margin-left:calc(-0.25rem - var(--sidebar-elems-left-padding));background-clip:border-box;}.hide-toc #rustdoc-toc,.hide-toc .in-crate{display:none;}.hide-modnav #rustdoc-modnav{display:none;}.sidebar h2{text-wrap:balance;overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{text-wrap:balance;overflow-wrap:anywhere;font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>.version,.sidebar>h2{padding-left:var(--sidebar-elems-left-padding);}.sidebar a{color:var(--sidebar-link-color);}.sidebar .current,.sidebar .current a,.sidebar-crate a.logo-container:hover+h2 a,.sidebar a:hover:not(.logo-container){background-color:var(--sidebar-current-link-background-color);}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.sidebar-crate{display:flex;align-items:center;justify-content:center;margin:14px 32px 1rem;row-gap:10px;column-gap:32px;flex-wrap:wrap;}.sidebar-crate h2{flex-grow:1;margin:0 -8px;align-self:start;}.sidebar-crate .logo-container{margin:0 calc(-16px - var(--sidebar-elems-left-padding));padding:0 var(--sidebar-elems-left-padding);text-align:center;}.sidebar-crate .logo-container img{margin-top:-16px;border-top:solid 16px transparent;box-sizing:content-box;position:relative;background-clip:border-box;z-index:1;}.sidebar-crate h2 a{display:block;border-left:solid var(--sidebar-elems-left-padding) transparent;background-clip:border-box;margin:0 calc(-24px + 0.25rem) 0 calc(-0.2rem - var(--sidebar-elems-left-padding));padding:calc((16px - 0.57rem ) / 2 ) 0.25rem;padding-left:0.2rem;}.sidebar-crate h2 .version{display:block;font-weight:normal;font-size:1rem;overflow-wrap:break-word;}.sidebar-crate+.version{margin-top:-1rem;margin-bottom:1rem;}.mobile-topbar{display:none;}.rustdoc .example-wrap{display:flex;position:relative;margin-bottom:10px;}.rustdoc .example-wrap>pre,.rustdoc .scraped-example .src-line-numbers,.rustdoc .scraped-example .src-line-numbers>pre{border-radius:6px;}.rustdoc .example-wrap>.example-line-numbers,.rustdoc .scraped-example .src-line-numbers,.rustdoc .scraped-example .src-line-numbers>pre{border-top-right-radius:0;border-bottom-right-radius:0;}.rustdoc .example-wrap>.example-line-numbers+pre,.rustdoc .scraped-example .rust{border-top-left-radius:0;border-bottom-left-radius:0;}.rustdoc .scraped-example{position:relative;}.rustdoc .example-wrap:last-child{margin-bottom:0px;}.rustdoc .example-wrap pre{margin:0;flex-grow:1;}.scraped-example:not(.expanded) .example-wrap{max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .example-wrap{max-height:calc(1.5em * 10 + 10px);}.rustdoc:not(.src) .scraped-example:not(.expanded) .src-line-numbers,.rustdoc:not(.src) .scraped-example:not(.expanded) .src-line-numbers>pre,.rustdoc:not(.src) .scraped-example:not(.expanded) pre.rust{padding-bottom:0;overflow:auto hidden;}.rustdoc:not(.src) .scraped-example .src-line-numbers{padding-top:0;}.rustdoc:not(.src) .scraped-example.expanded .src-line-numbers{padding-bottom:0;}.rustdoc:not(.src) .example-wrap pre{overflow:auto;}.rustdoc .example-wrap pre.example-line-numbers,.rustdoc .example-wrap .src-line-numbers{min-width:fit-content;flex-grow:0;text-align:right;-webkit-user-select:none;user-select:none;padding:14px 8px;padding-right:2px;color:var(--src-line-numbers-span-color);}.rustdoc .scraped-example .example-wrap .src-line-numbers{padding:0;}.rustdoc .src-line-numbers pre{padding:14px 0;}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);padding:0 8px;}.src-line-numbers :target{background-color:transparent;border-right:none;padding:0 8px;}.src-line-numbers .line-highlighted{background-color:var(--src-line-number-highlighted-background-color);}.search-loading{text-align:center;}.item-table dd{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock :not(pre)>code,.item-table dd code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:var(--docblock-indent);position:relative;}.docblock>:not(.more-examples-toggle):not(.example-wrap){max-width:100%;overflow-x:auto;}.sub-heading{font-size:1rem;flex-grow:0;grid-area:main-heading-sub-heading;line-height:1.25;padding-bottom:4px;}.main-heading rustdoc-toolbar,.main-heading .out-of-band{grid-area:main-heading-toolbar;}rustdoc-toolbar{display:flex;flex-direction:row;flex-wrap:nowrap;min-height:60px;}.docblock code,.item-table dd code,pre,.rustdoc.src .example-wrap,.example-wrap .src-line-numbers{background-color:var(--code-block-background-color);border-radius:var(--code-block-border-radius);text-decoration:inherit;}#main-content{position:relative;}.docblock table{margin:.5em 0;border-collapse:collapse;}.docblock table td,.docblock table th{padding:.5em;border:1px solid var(--border-color);}.docblock table tbody tr:nth-child(2n){background:var(--table-alt-row-background-color);}.docblock .stab,.item-table dd .stab,.docblock p code{display:inline-block;}.docblock li{margin-bottom:.4em;}.docblock li p:not(:last-child){margin-bottom:.3em;}div.where{white-space:pre-wrap;font-size:0.875rem;}.item-info{display:block;margin-left:var(--docblock-indent);}.impl-items>.item-info{margin-left:calc(var(--docblock-indent) + var(--impl-items-indent));}.item-info code{font-size:0.875rem;}#main-content>.item-info{margin-left:0;}nav.sub{flex-grow:1;flex-flow:row nowrap;margin:4px 0 0 0;display:flex;align-items:center;}.search-form{position:relative;display:flex;height:34px;flex-grow:1;margin-bottom:4px;}.src nav.sub{margin:0 0 -10px 0;}.section-header{display:block;position:relative;}.section-header:hover>.anchor,.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:initial;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.section-header>.anchor{left:-15px;padding-right:8px;}h2.section-header>.anchor{padding-right:6px;}a.doc-anchor{color:var(--main-color);display:none;position:absolute;left:-17px;padding-right:10px;padding-left:3px;}*:hover>.doc-anchor{display:block;}.top-doc>.docblock>*:first-child>.doc-anchor{display:none !important;}.main-heading a:hover,.example-wrap .rust a:hover,.all-items a:hover,.docblock a:not(.scrape-help):not(.tooltip):hover:not(.doc-anchor),.item-table dd a:not(.scrape-help):not(.tooltip):hover,.item-info a{text-decoration:underline;}.crate.block li.current a{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{padding:0;margin:0;width:100%;}.item-table>dt{padding-right:1.25rem;}.item-table>dd{margin-inline-start:0;margin-left:0;}.search-results-title{margin-top:0;white-space:nowrap;display:flex;align-items:baseline;}.search-results-title+.sub-heading{color:var(--main-color);display:flex;align-items:baseline;white-space:nowrap;}#crate-search-div{position:relative;min-width:0;}#crate-search{padding:0 23px 0 4px;max-width:100%;text-overflow:ellipsis;border:1px solid var(--border-color);border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;background-color:var(--main-background-color);color:inherit;line-height:1.5;font-weight:500;}#crate-search:hover,#crate-search:focus{border-color:var(--crate-search-hover-border);}#crate-search-div::after{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;content:"";background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 2px) 56%;background-image:url('data:image/svg+xml, \
+	');filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;margin:0;padding:0;}.search-results>a{display:grid;grid-template-areas:"search-result-name search-result-desc" "search-result-type-signature search-result-type-signature";grid-template-columns:.6fr .4fr;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);column-gap:1em;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;grid-area:search-result-desc;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name{display:flex;align-items:center;justify-content:start;grid-area:search-result-name;}.search-results .result-name .alias{color:var(--search-results-alias-color);}.search-results .result-name .grey{color:var(--search-results-grey-color);}.search-results .result-name .typename{color:var(--search-results-grey-color);font-size:0.875rem;width:var(--search-typename-width);}.search-results .result-name .path{word-break:break-all;max-width:calc(100% - var(--search-typename-width));display:inline-block;}.search-results .result-name .path>*{display:inline;}.search-results .type-signature{grid-area:search-result-type-signature;white-space:pre-wrap;}.popover{position:absolute;top:100%;right:0;z-index:calc(var(--desktop-sidebar-z-index) + 1);margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}.setting-line{margin:1.2em 0.6em;}.setting-radio input,.setting-check input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:2px solid var(--settings-input-border-color);outline:none;-webkit-appearance:none;cursor:pointer;}.setting-radio input{border-radius:50%;}.setting-radio span,.setting-check span{padding-bottom:1px;}.setting-radio{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.setting-radio+.setting-radio{margin-left:0.5em;}.setting-check{margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-radio input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-check input:checked{background-color:var(--settings-input-color);border-width:1px;content:url('data:image/svg+xml,\
+		\
+		');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#settings.popover{--popover-arrow-offset:202px;top:calc(100% - 16px);}#help.popover{max-width:600px;--popover-arrow-offset:118px;top:calc(100% - 16px);}#help dt{float:left;clear:left;margin-right:0.5rem;}#help dd{margin-bottom:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;padding:0 0.5rem;text-wrap-style:balance;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side{display:flex;margin-bottom:20px;}.side-by-side>div{width:50%;padding:0 20px 0 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-table dt .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band,.sub-heading,rustdoc-toolbar{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}.top-doc>.docblock>.warning:first-child::before{top:20px;}.example-wrap>a.test-arrow,.example-wrap .button-holder{visibility:hidden;position:absolute;top:4px;right:4px;z-index:1;}a.test-arrow{height:var(--copy-path-height);padding:6px 4px 0 11px;}a.test-arrow::before{content:url('data:image/svg+xml,');}.example-wrap .button-holder{display:flex;}@media not (pointer:coarse){.example-wrap:hover>a.test-arrow,.example-wrap:hover>.button-holder{visibility:visible;}}.example-wrap .button-holder.keep-visible{visibility:visible;}.example-wrap .button-holder>*{background:var(--main-background-color);cursor:pointer;border-radius:var(--button-border-radius);height:var(--copy-path-height);width:var(--copy-path-width);border:0;color:var(--code-example-button-color);}.example-wrap .button-holder>*:hover{color:var(--code-example-button-hover-color);}.example-wrap .button-holder>*:not(:first-child){margin-left:var(--button-left-margin);}.example-wrap .button-holder .copy-button{padding:2px 0 0 4px;}.example-wrap .button-holder .copy-button::before,.example-wrap .test-arrow::before{filter:var(--copy-path-img-filter);}.example-wrap .button-holder .copy-button::before{content:var(--clipboard-image);}.example-wrap .button-holder .copy-button:hover::before,.example-wrap .test-arrow:hover::before{filter:var(--copy-path-img-hover-filter);}.example-wrap .button-holder .copy-button.clicked::before{content:var(--checkmark-image);padding-right:5px;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.main-heading span.since::before{content:"Since ";}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}@keyframes targetfadein{from{background-color:var(--main-background-color);}10%{background-color:var(--target-border-color);}to{background-color:var(--target-background-color);}}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}@media not (prefers-reduced-motion){:target{animation:0.65s cubic-bezier(0,0,0.1,1.0) 0.1s targetfadein;}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{margin-top:0.25rem;display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}.src-sidebar-title{position:sticky;top:0;display:flex;padding:8px 8px 0 48px;margin-bottom:7px;background:var(--sidebar-background-color);border-bottom:1px solid var(--border-color);}#settings-menu,#help-button,button#toggle-all-docs{margin-left:var(--button-left-margin);display:flex;line-height:1.25;min-width:14px;}#sidebar-button{display:none;line-height:0;}.hide-sidebar #sidebar-button,.src #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}.src #sidebar-button{left:8px;z-index:calc(var(--desktop-sidebar-z-index) + 1);}.hide-sidebar .src #sidebar-button{position:static;}#settings-menu>a,#help-button>a,#sidebar-button>a,button#toggle-all-docs{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid transparent;border-radius:var(--button-border-radius);color:var(--main-color);}#settings-menu>a,#help-button>a,button#toggle-all-docs{width:80px;border-radius:var(--toolbar-button-border-radius);}#settings-menu>a,#help-button>a{min-width:0;}#sidebar-button>a{background-color:var(--button-background-color);border-color:var(--border-color);width:33px;}#settings-menu>a:hover,#settings-menu>a:focus-visible,#help-button>a:hover,#help-button>a:focus-visible,#sidebar-button>a:hover,#sidebar-button>a:focus-visible,button#toggle-all-docs:hover,button#toggle-all-docs:focus-visible{border-color:var(--settings-button-border-focus);text-decoration:none;}#settings-menu>a:before{content:url('data:image/svg+xml,\
+	');width:18px;height:18px;filter:var(--settings-menu-filter);}button#toggle-all-docs:before{content:url('data:image/svg+xml,\
+	');width:18px;height:18px;filter:var(--settings-menu-filter);}#help-button>a:before{content:url('data:image/svg+xml,\
+	\
+	?');width:18px;height:18px;filter:var(--settings-menu-filter);}button#toggle-all-docs:before,#help-button>a:before,#settings-menu>a:before{filter:var(--settings-menu-filter);margin:8px;}@media not (pointer:coarse){button#toggle-all-docs:hover:before,#help-button>a:hover:before,#settings-menu>a:hover:before{filter:var(--settings-menu-hover-filter);}}button[disabled]#toggle-all-docs{opacity:0.25;border:solid 1px var(--main-background-color);background-size:cover;}button[disabled]#toggle-all-docs:hover{border:solid 1px var(--main-background-color);cursor:not-allowed;}rustdoc-toolbar span.label{font-size:1rem;flex-grow:1;padding-bottom:4px;}#sidebar-button>a:before{content:url('data:image/svg+xml,\
+		\
+		\
+		');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:var(--copy-path-height);width:var(--copy-path-width);margin-left:10px;padding:0;padding-left:2px;border:0;font-size:0;}#copy-path::before{filter:var(--copy-path-img-filter);content:var(--clipboard-image);}#copy-path:hover::before{filter:var(--copy-path-img-hover-filter);}#copy-path.clicked::before{content:var(--checkmark-image);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.big-toggle{contain:inline-size;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,\
+	');content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>.methods>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}.impl-items>*:not(.item-info),.implementors-toggle>.docblock,#main-content>.methods>:not(.item-info){margin-left:var(--impl-items-indent);}details.big-toggle>summary:not(.hideme)::before{left:-34px;top:9px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url('data:image/svg+xml,\
+	');}details.toggle[open] >summary::after{content:"Collapse";}details.toggle:not([open])>summary .docblock{max-height:calc(1.5em + 0.75em);overflow-y:hidden;}details.toggle:not([open])>summary .docblock>:first-child{max-width:100%;overflow:hidden;width:fit-content;white-space:nowrap;position:relative;padding-right:1em;}details.toggle:not([open])>summary .docblock>:first-child::after{content:"…";position:absolute;right:0;top:0;bottom:0;z-index:1;background-color:var(--main-background-color);font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;padding-left:0.2em;}details.toggle:not([open])>summary .docblock>div:first-child::after{padding-top:calc(1.5em + 0.75em - 1.2rem);}details.toggle>summary .docblock{margin-top:0.75em;}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}.src #sidebar-button>a:before,.sidebar-menu-toggle:before{content:url('data:image/svg+xml,\
+		');opacity:0.75;}.sidebar-menu-toggle:hover:before,.sidebar-menu-toggle:active:before,.sidebar-menu-toggle:focus:before{opacity:1;}.src #sidebar-button>a:before{content:url('data:image/svg+xml,\
+		\
+		\
+		');opacity:0.75;}@media (max-width:850px){#search-tabs .count{display:block;}.side-by-side{flex-direction:column-reverse;}.side-by-side>div{width:auto;}}@media (max-width:700px){:root{--impl-items-indent:0.7em;}*[id]{scroll-margin-top:45px;}#copy-path{width:0;visibility:hidden;}rustdoc-toolbar span.label{display:none;}#settings-menu>a,#help-button>a,button#toggle-all-docs{width:33px;}#settings.popover{--popover-arrow-offset:86px;}#help.popover{--popover-arrow-offset:48px;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.sidebar .logo-container,.sidebar .location,.sidebar-resizer{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.src main,.rustdoc.src .sidebar{top:0;padding:0;height:100vh;border:0;}.src .search-form{margin-left:40px;}.src .main-heading{margin-left:8px;}.hide-sidebar .search-form{margin-left:32px;}.hide-sidebar .src .search-form{margin-left:0;}.sidebar.shown,.src-sidebar-expanded .src .sidebar,.rustdoc:not(.src) .sidebar:focus-within{left:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;white-space:nowrap;text-overflow:ellipsis;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.hide-sidebar .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;border:none;line-height:0;}.hide-sidebar .sidebar-menu-toggle{display:none;}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#sidebar-button>a:before{content:url('data:image/svg+xml,\
+			\
+			\
+			');width:22px;height:22px;}.sidebar-menu-toggle:before{filter:var(--mobile-sidebar-menu-filter);}.sidebar-menu-toggle:hover{background:var(--main-background-color);}.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table dd{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{position:fixed;max-width:100vw;width:100vw;}.src .src-sidebar-title{padding-top:0;}details.implementors-toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>.methods>details.toggle>summary:not(.hideme)::before{left:-20px;}summary>.item-info{margin-left:10px;}.impl-items>.item-info{margin-left:calc(var(--impl-items-indent) + 10px);}.src nav.sub{margin:0 0 -25px 0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}.item-table:not(.reexports){display:grid;grid-template-columns:33% 67%;}.item-table>dt,.item-table>dd{overflow-wrap:anywhere;}.item-table>dt{grid-column-start:1;}.item-table>dd{grid-column-start:2;}}@media print{:root{--docblock-indent:0;}nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}main{padding:10px;}}@media (max-width:464px){:root{--docblock-indent:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example:not(.expanded) .example-wrap::before,.scraped-example:not(.expanded) .example-wrap::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .example-wrap::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .example-wrap::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded){width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded){overflow-x:hidden;}.scraped-example .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"],:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#595959;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--code-example-button-color:#7f7f7f;--code-example-button-hover-color:#a5a5a5;--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--settings-menu-filter:invert(50%);--settings-menu-hover-filter:invert(65%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--code-example-button-color:#b2b2b2;--code-example-button-hover-color:#fff;--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--settings-menu-filter:invert(70%);--settings-menu-hover-filter:invert(100%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);}
\ No newline at end of file