Lines Matching defs:sequence

43 // sequence number.
111 // uint32_t sequence;
114 // sequence = ring.GetOldestSequence(); // The oldest available
115 // sequence = ring.GetNewestSequence(); // The newest available
116 // sequence = ring.GetNextSequence(); // The next one produced
122 // while (ring.Get(&sequence, &record)) {
123 // ProcessRecord(sequence, record);
124 // sequence++;
127 // if (ring.GetNewest(&sequence, &record)) {
128 // ProcessRecord(sequence, record);
129 // sequence++;
268 // Gets sequence number of the oldest currently available record.
274 // Gets sequence number of the first future record.
283 // Gets sequence number of the newest currently available record.
286 // Copies the oldest available record with sequence at least |*sequence| to
291 // Updates |*sequence| with the sequence number of the record returned. To get
302 // i.e. the stores for the records with sequence numbers < |tail| have
312 // i.e. if we read a record with sequence number >= |final_head| then
314 bool Get(uint32_t* sequence /*inout*/, Record* record /*out*/) const {
324 if (*sequence - head > tail - head)
325 *sequence = head; // Out of window, skip forward to first available.
327 if (*sequence == tail) return false; // No new records available.
330 CalculateGeometry(record_count(), record_size(), *sequence, tail);
343 if (final_head - head > *sequence - head)
347 // 0 <= final_head - head <= sequence - head < tail - head <= record_count
350 // head <=* final_head <=* sequence <* tail <=* head + record_count
353 // This agrees with the order of sequence updates during "put" operations.
358 // Copies the newest available record with sequence at least |*sequence| to
363 // Updates |*sequence| with the sequence number of the record returned. To get
365 bool GetNewest(uint32_t* sequence, Record* record) const {
367 if (*sequence == newest_sequence + 1) return false;
368 *sequence = newest_sequence;
369 return Get(sequence, record);
431 // Copy of atomic sequence counts.
533 // Converts a record's sequence number into a storage index.
534 static uint32_t SequenceToIndex(uint32_t sequence, uint32_t record_count) {
535 return sequence & (record_count - 1);