1
14 package io.netty.util.internal.shaded.org.jctools.queues;
15
16 import static io.netty.util.internal.shaded.org.jctools.queues.LinkedArrayQueueUtil.length;
17
18
23 public class MpscUnboundedArrayQueue<E> extends BaseMpscLinkedArrayQueue<E>
24 {
25 byte b000,b001,b002,b003,b004,b005,b006,b007;
26 byte b010,b011,b012,b013,b014,b015,b016,b017;
27 byte b020,b021,b022,b023,b024,b025,b026,b027;
28 byte b030,b031,b032,b033,b034,b035,b036,b037;
29 byte b040,b041,b042,b043,b044,b045,b046,b047;
30 byte b050,b051,b052,b053,b054,b055,b056,b057;
31 byte b060,b061,b062,b063,b064,b065,b066,b067;
32 byte b070,b071,b072,b073,b074,b075,b076,b077;
33 byte b100,b101,b102,b103,b104,b105,b106,b107;
34 byte b110,b111,b112,b113,b114,b115,b116,b117;
35 byte b120,b121,b122,b123,b124,b125,b126,b127;
36 byte b130,b131,b132,b133,b134,b135,b136,b137;
37 byte b140,b141,b142,b143,b144,b145,b146,b147;
38 byte b150,b151,b152,b153,b154,b155,b156,b157;
39 byte b160,b161,b162,b163,b164,b165,b166,b167;
40 byte b170,b171,b172,b173,b174,b175,b176,b177;
41
42 public MpscUnboundedArrayQueue(int chunkSize)
43 {
44 super(chunkSize);
45 }
46
47
48 @Override
49 protected long availableInQueue(long pIndex, long cIndex)
50 {
51 return Integer.MAX_VALUE;
52 }
53
54 @Override
55 public int capacity()
56 {
57 return MessagePassingQueue.UNBOUNDED_CAPACITY;
58 }
59
60 @Override
61 public int drain(Consumer<E> c)
62 {
63 return drain(c, 4096);
64 }
65
66 @Override
67 public int fill(Supplier<E> s)
68 {
69 return MessagePassingQueueUtil.fillUnbounded(this, s);
70 }
71
72 @Override
73 protected int getNextBufferSize(E[] buffer)
74 {
75 return length(buffer);
76 }
77
78 @Override
79 protected long getCurrentBufferCapacity(long mask)
80 {
81 return mask;
82 }
83 }
84