public void GetMetadataSchema() { var cmd = new CommandGetMetadataSchema(Guid.NewGuid(), 1); cmd = (CommandGetMetadataSchema)(CtpCommand)cmd; Console.WriteLine(cmd.ToString()); }
//public void ProcessCommand(CommandGetMetadataAdvance command, WireEncoder encoder) //{ // var repository = m_repository; // if (command.SequenceNumber.HasValue && command.SchemaVersion != repository.SchemaVersion) // { // encoder.MetadataVersionNotCompatible(); // return; // } // var engine = new MetadataQueryExecutionEngine(repository, encoder, command); //} public void ProcessCommand(CommandGetMetadataSchema command, CtpNetStream encoder) { var repository = m_repository; if (!command.LastKnownRuntimeID.HasValue || command.LastKnownRuntimeID != repository.RuntimeID) { encoder.Send(new CommandMetadataSchema(repository.RuntimeID, repository.VersionNumber, repository.MetadataSchema)); } else if (command.LastKnownVersionNumber != repository.VersionNumber) { List <MetadataSchemaTableUpdate> tableRevisions = new List <MetadataSchemaTableUpdate>(); foreach (var tables in repository.MetadataSchema) { tableRevisions.Add(new MetadataSchemaTableUpdate(tables.TableName, tables.LastModifiedVersionNumber)); } encoder.Send(new CommandMetadataSchemaUpdate(repository.RuntimeID, repository.VersionNumber, tableRevisions)); } else { encoder.Send(new CommandMetadataSchemaVersion(repository.RuntimeID, repository.VersionNumber)); } }
public void CommandGetMetadataSchema() { var cmd = new CommandGetMetadataSchema(Guid.NewGuid(), 382); Console.WriteLine(((CtpCommand)cmd).ToYAML()); }