Пример #1
0
        public void MergeFrom(TopicData other)
        {
            if (other == null)
            {
                return;
            }
            switch (other.TypeCase)
            {
            case TypeOneofCase.TopicDataRecord:
                if (TopicDataRecord == null)
                {
                    TopicDataRecord = new global::Ubii.TopicData.TopicDataRecord();
                }
                TopicDataRecord.MergeFrom(other.TopicDataRecord);
                break;

            case TypeOneofCase.TopicDataRecordList:
                if (TopicDataRecordList == null)
                {
                    TopicDataRecordList = new global::Ubii.TopicData.TopicDataRecordList();
                }
                TopicDataRecordList.MergeFrom(other.TopicDataRecordList);
                break;

            case TypeOneofCase.Error:
                if (Error == null)
                {
                    Error = new global::Ubii.General.Error();
                }
                Error.MergeFrom(other.Error);
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }
Пример #2
0
    private void FlushRecordsToPublish()
    {
        if (recordsToPublish.IsEmpty)
        {
            return;
        }

        RepeatedField <TopicDataRecord> repeatedField = new RepeatedField <TopicDataRecord>();

        while (!recordsToPublish.IsEmpty)
        {
            if (recordsToPublish.TryTake(out TopicDataRecord record))
            {
                repeatedField.Add(record);
            }
        }

        TopicDataRecordList recordList = new TopicDataRecordList()
        {
            Elements = { repeatedField },
        };

        TopicData topicData = new TopicData()
        {
            TopicDataRecordList = recordList
        };

        SendTopicDataImmediately(topicData);
    }
Пример #3
0
    private async Task <CancellationToken> FlushRecordsToPublish()
    {
        if (recordsToPublish.IsEmpty)
        {
            return(new CancellationToken(true));
        }

        RepeatedField <TopicDataRecord> repeatedField = new RepeatedField <TopicDataRecord>();

        while (!recordsToPublish.IsEmpty)
        {
            if (recordsToPublish.TryTake(out TopicDataRecord record))
            {
                repeatedField.Add(record);
            }
        }

        TopicDataRecordList recordList = new TopicDataRecordList()
        {
            Elements = { repeatedField },
        };

        TopicData topicData = new TopicData()
        {
            TopicDataRecordList = recordList
        };

        return(await SendTopicDataImmediately(topicData));
    }
Пример #4
0
    public void Publish(TopicDataRecordList recordList)
    {
        if (recordList == null || recordList.Elements == null)
        {
            return;
        }

        foreach (TopicDataRecord record in recordList.Elements)
        {
            this.Publish(record);
        }
    }
Пример #5
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (typeCase_ == TypeOneofCase.TopicDataRecord)
            {
                hash ^= TopicDataRecord.GetHashCode();
            }
            if (typeCase_ == TypeOneofCase.TopicDataRecordList)
            {
                hash ^= TopicDataRecordList.GetHashCode();
            }
            if (typeCase_ == TypeOneofCase.Error)
            {
                hash ^= Error.GetHashCode();
            }
            hash ^= (int)typeCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }