public async Task <ContainerID> PutContainer(Container.Container container, CallOptions options = null, CancellationToken context = default) { if (container is null) { throw new ArgumentNullException(nameof(container)); } var opts = DefaultCallOptions.ApplyCustomOptions(options); CheckOptions(opts); container.Version = Refs.Version.SDKVersion(); if (container.OwnerId is null) { container.OwnerId = OwnerID.FromScriptHash(opts.Key.PublicKey().PublicKeyToScriptHash()); } var req = new PutRequest { Body = new PutRequest.Types.Body { Container = container, Signature = opts.Key.SignRFC6979(container), } }; req.MetaHeader = opts.GetRequestMetaHeader(); opts.Key.Sign(req); return(await PutContainer(req, opts.Deadline, context)); }
public ContainerID PutContainer(CancellationToken context, Container.Container container, CallOptions options = null) { var container_client = new ContainerService.ContainerServiceClient(channel); var opts = DefaultCallOptions.ApplyCustomOptions(options); container.Version = Refs.Version.SDKVersion(); if (container.OwnerId is null) { container.OwnerId = key.ToOwnerID(); } var req = new PutRequest { Body = new PutRequest.Types.Body { Container = container, Signature = container.SignMessagePart(key), } }; req.MetaHeader = opts.GetRequestMetaHeader(); req.SignRequest(key); var resp = container_client.Put(req, cancellationToken: context); if (!resp.VerifyResponse()) { throw new InvalidOperationException("invalid container put response"); } return(resp.Body.ContainerId); }
public void TestPutContainerSelect() { using var client = new Client.Client(key, host); // var replica = new Replica(2, ""); //not in policy var replica = new Replica(2, ""); // in policy with others // var replica = new Replica(1, ""); // test only one node put container size var policy = new PlacementPolicy(1, new Replica[] { replica }, null, null); var container = new Container.Container { Version = Refs.Version.SDKVersion(), OwnerId = OwnerID.FromScriptHash(key.PublicKey().PublicKeyToScriptHash()), Nonce = Guid.NewGuid().ToByteString(), BasicAcl = BasicAcl.PublicBasicRule, PlacementPolicy = policy, }; container.Attributes.Add(new Container.Container.Types.Attribute { Key = "CreatedAt", Value = DateTime.UtcNow.ToString(), }); using var source = new CancellationTokenSource(); source.CancelAfter(TimeSpan.FromMinutes(1)); var cid = client.PutContainer(container, context: source.Token).Result; Console.WriteLine(cid.String()); Assert.AreEqual(container.CalCulateAndGetId, cid); }
public void TestPutContainer() { var host = "localhost:8080"; var key = "KxDgvEKzgSBPPfuVfw67oPQBSjidEiqTHURKSDL1R7yGaGYAeYnr".LoadWif(); var client = new Client.Client(key, host); var replica = new Replica(1, "*"); var policy = new PlacementPolicy(2, new Replica[] { replica }, null, null); var container = new Container.Container { // Version = Refs.Version.SDKVersion(), // OwnerId = key.ToOwnerID(), Nonce = new Guid().ToByteString(), BasicAcl = (uint)BasicAcl.PublicBasicRule, PlacementPolicy = policy, }; container.Attributes.Add(new Container.Container.Types.Attribute { Key = "CreatedAt", Value = DateTime.UtcNow.ToString(), }); var source = new CancellationTokenSource(); source.CancelAfter(TimeSpan.FromMinutes(1)); var cid = client.PutContainer(source.Token, container); Console.WriteLine(cid.ToBase58String()); Assert.AreEqual(container.CalCulateAndGetID, cid); }
public void TestPutContainerOnlyOne() { using var client = new Client.Client(key, host); var replica1 = new Replica(1, "loc1"); var replica2 = new Replica(1, "loc2"); var selector1 = new Selector("loc1", "Location", Clause.Same, 1, "loc1"); var selector2 = new Selector("loc2", "Location", Clause.Same, 1, "loc2"); var filter1 = new Filter("loc1", "Location", "Shanghai", Netmap.Operation.Eq); var filter2 = new Filter("loc2", "Location", "Shanghai", Netmap.Operation.Ne); var policy = new PlacementPolicy(1, new Replica[] { replica1, replica2 }, new Selector[] { selector1, selector2 }, new Filter[] { filter1, filter2 }); var container = new Container.Container { Version = Refs.Version.SDKVersion(), OwnerId = OwnerID.FromScriptHash(key.PublicKey().PublicKeyToScriptHash()), Nonce = Guid.NewGuid().ToByteString(), BasicAcl = BasicAcl.PublicBasicRule, PlacementPolicy = policy, }; container.Attributes.Add(new Container.Container.Types.Attribute { Key = "CreatedAt", Value = DateTime.UtcNow.ToString(), }); using var source = new CancellationTokenSource(); source.CancelAfter(TimeSpan.FromMinutes(1)); var cid = client.PutContainer(container, context: source.Token).Result; Console.WriteLine(cid.String()); Assert.AreEqual(container.CalCulateAndGetId, cid); }
public static void Main() { var cont = new Container.Container(new List <string> { "BooknoteLogic" }); var processor = cont.Resolve <CommandProcessor>(); processor.Process(); }
public void Setup() { var kunteynir = new Container.Container(new List <string> { "BooknoteLogic", "Tests" }); _producer = kunteynir.Resolve <TestCommandProducer>(); _booknote = kunteynir.Resolve <Booknote>(); }
public void Register_Should_Get_Services() { var container = new Container.Container(); var service = new AutoIdRepository(); container.Register(service); Assert.NotNull(container.Get <IAutoIdRepository>()); }
private void StartApp(object sender, StartupEventArgs e) { var container = new Container.Container(new List <string> { "BooknoteLogic", "BooknoteView" }); var prod = container.Resolve <UiCommandProducer>(); var rl = container.Resolve <RecordsList>(); new MainWindow(rl, prod).Show(); }
public void Container_Should_Return_IRepository_Of_Type() { var container = new Container.Container(); container.Register <DummyRepository>(); var verify = container.Get <IRepository <DummyEntity> >(); Assert.NotNull(verify); Assert.True(verify is IRepository <DummyEntity>); }
static void Main(string[] args) { var kunteynir = new Container.Container(new List <string> { "funge-98" }); var cp = kunteynir.Resolve <CommandProducer>(); var language = new Befunge_93(cp, new Befunge93FileParser(args[0], true)); var result = language.RunProgram(); if (result != null) { Console.WriteLine($"Error : {result}"); } }
public void TestContainerSerialize() { var key = "Kwk6k2eC3L3QuPvD8aiaNyoSXgQ2YL1bwS5CP1oKoA9waeAze97s".LoadWif(); var container = new Container.Container { Version = new Refs.Version { Major = 1, Minor = 2, }, OwnerId = key.ToOwnerID(), Nonce = ByteString.CopyFrom("1234".HexToBytes()), BasicAcl = 0u, PlacementPolicy = new PlacementPolicy(1, null, null, null), }; Assert.AreEqual("0a0408011002121b0a19351f694a2a49229f8e41d24542a0e6a7329b7ed065a113d0021a02123432021001", (container.ToByteArray().ToHexString())); }
public void TestContainerSerialize() { var key = "Kwk6k2eC3L3QuPvD8aiaNyoSXgQ2YL1bwS5CP1oKoA9waeAze97s".LoadWif(); var container = new Container.Container { Version = new Refs.Version { Major = 1, Minor = 2, }, OwnerId = OwnerID.FromScriptHash(key.PublicKey().PublicKeyToScriptHash()), Nonce = ByteString.CopyFrom("1234".HexToBytes()), BasicAcl = 0u, PlacementPolicy = new PlacementPolicy(1, null, null, null), }; Assert.AreEqual("0a0408011002121b0a1935ce67af47d9157014c8db22dc18769be12b1b136a394ef1db1a02123432021001", container.ToByteArray().ToHexString()); }
static void Main(string[] args) { var helpOptions = new[] { "-h", "--h", "--help", "-help" }; if (args.Length == 0 || helpOptions.Any(args.Contains)) { DisplayHelp(); return; } var onlyStandardExtensions = args.All(ho => ho != "--ignore-ext"); var kunteynir = new Container.Container(new List <string> { "funge-98" }); var initDict = new Dictionary <string, Func <FungeFamilyLanguage> > { { "--befunge93", kunteynir.Resolve <Befunge93> }, { "--funge98", kunteynir.Resolve <Befunge98> }, { "--unefunge", kunteynir.Resolve <Unefunge> }, { "--trefunge", kunteynir.Resolve <Trefunge> }, }; foreach (var s in args) { if (initDict.TryGetValue(s, out var lang)) { var l = lang(); RunFungeProgram(l, args, onlyStandardExtensions); } } RunFungeProgram(kunteynir.Resolve <Befunge98>(), args, onlyStandardExtensions); }