Package com.lmax.disruptor
Class SequenceGroup
- java.lang.Object
-
- com.lmax.disruptor.Sequence
-
- com.lmax.disruptor.SequenceGroup
-
public final class SequenceGroup extends Sequence
ASequencegroup that can dynamically haveSequences added and removed while being thread safe.The
get()andset(long)methods are lock free and can be concurrently be called with theadd(Sequence)andremove(Sequence).
-
-
Field Summary
Fields Modifier and Type Field Description protected bytep10protected bytep100protected bytep101protected bytep102protected bytep103protected bytep104protected bytep105protected bytep106protected bytep107protected bytep11protected bytep110protected bytep111protected bytep112protected bytep113protected bytep114protected bytep115protected bytep116protected bytep117protected bytep12protected bytep120protected bytep121protected bytep122protected bytep123protected bytep124protected bytep125protected bytep126protected bytep127protected bytep13protected bytep130protected bytep131protected bytep132protected bytep133protected bytep134protected bytep135protected bytep136protected bytep137protected bytep14protected bytep140protected bytep141protected bytep142protected bytep143protected bytep144protected bytep145protected bytep146protected bytep147protected bytep15protected bytep150protected bytep151protected bytep152protected bytep153protected bytep154protected bytep155protected bytep156protected bytep157protected bytep16protected bytep17protected bytep20protected bytep21protected bytep22protected bytep23protected bytep24protected bytep25protected bytep26protected bytep27protected bytep30protected bytep31protected bytep32protected bytep33protected bytep34protected bytep35protected bytep36protected bytep37protected bytep40protected bytep41protected bytep42protected bytep43protected bytep44protected bytep45protected bytep46protected bytep47protected bytep50protected bytep51protected bytep52protected bytep53protected bytep54protected bytep55protected bytep56protected bytep57protected bytep60protected bytep61protected bytep62protected bytep63protected bytep64protected bytep65protected bytep66protected bytep67protected bytep70protected bytep71protected bytep72protected bytep73protected bytep74protected bytep75protected bytep76protected bytep77protected bytep90protected bytep91protected bytep92protected bytep93protected bytep94protected bytep95protected bytep96protected bytep97protected longvalue
-
Constructor Summary
Constructors Constructor Description SequenceGroup()Default Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(Sequence sequence)Add aSequenceinto this aggregate.voidaddWhileRunning(Cursored cursored, Sequence sequence)Adds a sequence to the sequence group after threads have started to publish to the Disruptor.longget()Get the minimum sequence value for the group.booleanremove(Sequence sequence)Remove the first occurrence of theSequencefrom this aggregate.voidset(long value)Set allSequences in the group to a given value.intsize()Get the size of the group.-
Methods inherited from class com.lmax.disruptor.Sequence
addAndGet, compareAndSet, getAndAdd, incrementAndGet, setVolatile, toString
-
-
-
-
Field Detail
-
p90
protected byte p90
-
p91
protected byte p91
-
p92
protected byte p92
-
p93
protected byte p93
-
p94
protected byte p94
-
p95
protected byte p95
-
p96
protected byte p96
-
p97
protected byte p97
-
p100
protected byte p100
-
p101
protected byte p101
-
p102
protected byte p102
-
p103
protected byte p103
-
p104
protected byte p104
-
p105
protected byte p105
-
p106
protected byte p106
-
p107
protected byte p107
-
p110
protected byte p110
-
p111
protected byte p111
-
p112
protected byte p112
-
p113
protected byte p113
-
p114
protected byte p114
-
p115
protected byte p115
-
p116
protected byte p116
-
p117
protected byte p117
-
p120
protected byte p120
-
p121
protected byte p121
-
p122
protected byte p122
-
p123
protected byte p123
-
p124
protected byte p124
-
p125
protected byte p125
-
p126
protected byte p126
-
p127
protected byte p127
-
p130
protected byte p130
-
p131
protected byte p131
-
p132
protected byte p132
-
p133
protected byte p133
-
p134
protected byte p134
-
p135
protected byte p135
-
p136
protected byte p136
-
p137
protected byte p137
-
p140
protected byte p140
-
p141
protected byte p141
-
p142
protected byte p142
-
p143
protected byte p143
-
p144
protected byte p144
-
p145
protected byte p145
-
p146
protected byte p146
-
p147
protected byte p147
-
p150
protected byte p150
-
p151
protected byte p151
-
p152
protected byte p152
-
p153
protected byte p153
-
p154
protected byte p154
-
p155
protected byte p155
-
p156
protected byte p156
-
p157
protected byte p157
-
value
protected long value
-
p10
protected byte p10
-
p11
protected byte p11
-
p12
protected byte p12
-
p13
protected byte p13
-
p14
protected byte p14
-
p15
protected byte p15
-
p16
protected byte p16
-
p17
protected byte p17
-
p20
protected byte p20
-
p21
protected byte p21
-
p22
protected byte p22
-
p23
protected byte p23
-
p24
protected byte p24
-
p25
protected byte p25
-
p26
protected byte p26
-
p27
protected byte p27
-
p30
protected byte p30
-
p31
protected byte p31
-
p32
protected byte p32
-
p33
protected byte p33
-
p34
protected byte p34
-
p35
protected byte p35
-
p36
protected byte p36
-
p37
protected byte p37
-
p40
protected byte p40
-
p41
protected byte p41
-
p42
protected byte p42
-
p43
protected byte p43
-
p44
protected byte p44
-
p45
protected byte p45
-
p46
protected byte p46
-
p47
protected byte p47
-
p50
protected byte p50
-
p51
protected byte p51
-
p52
protected byte p52
-
p53
protected byte p53
-
p54
protected byte p54
-
p55
protected byte p55
-
p56
protected byte p56
-
p57
protected byte p57
-
p60
protected byte p60
-
p61
protected byte p61
-
p62
protected byte p62
-
p63
protected byte p63
-
p64
protected byte p64
-
p65
protected byte p65
-
p66
protected byte p66
-
p67
protected byte p67
-
p70
protected byte p70
-
p71
protected byte p71
-
p72
protected byte p72
-
p73
protected byte p73
-
p74
protected byte p74
-
p75
protected byte p75
-
p76
protected byte p76
-
p77
protected byte p77
-
-
Method Detail
-
get
public long get()
Get the minimum sequence value for the group.
-
set
public void set(long value)
Set allSequences in the group to a given value.
-
add
public void add(Sequence sequence)
Add aSequenceinto this aggregate. This should only be used during initialisation. UseaddWhileRunning(Cursored, Sequence)- Parameters:
sequence- to be added to the aggregate.- See Also:
addWhileRunning(Cursored, Sequence)
-
remove
public boolean remove(Sequence sequence)
Remove the first occurrence of theSequencefrom this aggregate.- Parameters:
sequence- to be removed from this aggregate.- Returns:
- true if the sequence was removed otherwise false.
-
size
public int size()
Get the size of the group.- Returns:
- the size of the group.
-
addWhileRunning
public void addWhileRunning(Cursored cursored, Sequence sequence)
Adds a sequence to the sequence group after threads have started to publish to the Disruptor. It will set the sequences to cursor value of the ringBuffer just after adding them. This should prevent any nasty rewind/wrapping effects.- Parameters:
cursored- The data structure that the owner of this sequence group will be pulling it's events from.sequence- The sequence to add.
-
-