private void InitializeWriter(AdapterWriterQos desiredQos) { var writerQos = new DataWriterQos(); topicPublisher.GetDefaultDataWriterQos(ref writerQos); topicPublisher.CopyFromTopicQos(ref writerQos, currentTopic.TopicQos); if (desiredQos != null) { writerQos.WriterDataLifecycle.AutodisposeUnregisteredInstances = false; writerQos.Reliability.Kind = desiredQos.MessageReliabilityType.ConvertReliability(); writerQos.Durability.Kind = desiredQos.PersistenceType.ConvertPersistence(); } // Create a DataWritter for the current Topic dataWriter = topicPublisher.CreateDataWriter(currentTopic.TopicMessageTopic, writerQos) as DataWriter <T>; ErrorHandler.CheckHandle( DataWriter, "Publisher.CreateDatawriter (InitializeWriter)"); }
public Publisher(Topic <T> topic, string partitionName, AdapterWriterQos desiredQos) { currentTopic = topic; IDomainParticipant participant = topic.Participant; var publisherQos = new PublisherQos(); ReturnCode status = participant.GetDefaultPublisherQos(ref publisherQos); ErrorHandler.CheckStatus(status, "Publisher.GetDefaultSubscriberQos (Publisher)"); publisherQos.Partition.Name = new string[1]; publisherQos.Partition.Name[0] = partitionName; // Create a Subscriber for the application. topicPublisher = participant.CreatePublisher(publisherQos); ErrorHandler.CheckHandle( topicPublisher, "Publisher.CreateSubscriber (Publisher)"); InitializeWriter(desiredQos); }
public abstract DataPublisher <TDataType> CreatePublisher(AdapterWriterQos qos, string partitionName);
public override DataPublisher <TDataType> CreatePublisher(AdapterWriterQos qos, string partitionName) { return(new Publisher <TDataType>(topic, partitionName, qos)); }