/// <summary> /// Starts a new instance of the miner. /// </summary> /// <param name="context"></param> /// <param name="resource"></param> /// <returns></returns> public override IMiner StartMiner(IMinerContext context, CpuResource resource) { var miner = new ManagedMiner(context, (CpuResource)resource); miner.Start(); return miner; }
public void RequireResource(ComputerResourceType current, ComputerResourceType target) { if (target == current) { return; } switch ((target & ComputerResourceType.Cpu) - (current & ComputerResourceType.Cpu)) { case (int)ComputerResourceType.Cpu: CpuResource.Wait(); break; case -(int)ComputerResourceType.Cpu: CpuResource.Release(); break; default: break; } switch ((target & ComputerResourceType.DiskIO) - (current & ComputerResourceType.DiskIO)) { case (int)ComputerResourceType.DiskIO: DiskIOResource.Wait(); break; case -(int)ComputerResourceType.DiskIO: DiskIOResource.Release(); break; default: break; } switch ((target & ComputerResourceType.NetworkIO) - (current & ComputerResourceType.NetworkIO)) { case (int)ComputerResourceType.NetworkIO: NetworkIOResource.Wait(); break; case -(int)ComputerResourceType.NetworkIO: NetworkIOResource.Release(); break; default: break; } }
/// <summary> /// Initializes a new instance. /// </summary> /// <param name="context"></param> /// <param name="cpu"></param> public CpuMiner(IMinerContext context, CpuResource cpu) { Context = context; Cpu = cpu; }
/// <summary> /// Initializes a new instance. /// </summary> /// <param name="context"></param> /// <param name="cpu"></param> public AvxMiner(IMinerContext context, CpuResource cpu) : base(context, cpu) { }
/// <summary> /// Initializes a new instance. /// </summary> /// <param name="context"></param> /// <param name="cpu"></param> public ManagedMiner(IMinerContext context, CpuResource cpu) : base(context, cpu) { }
/// <summary> /// Implemented by children of <see cref="T:CpuMinerFactory"/> to start a custom miner implementation. /// </summary> /// <param name="context"></param> /// <param name="resource"></param> /// <returns></returns> public new abstract IMiner StartMiner(IMinerContext context, CpuResource resource);