Example usage for java.util.concurrent.atomic AtomicInteger addAndGet

List of usage examples for java.util.concurrent.atomic AtomicInteger addAndGet

Introduction

In this page you can find the example usage for java.util.concurrent.atomic AtomicInteger addAndGet.

Prototype

public final int addAndGet(int delta) 

Source Link

Document

Atomically adds the given value to the current value, with memory effects as specified by VarHandle#getAndAdd .

Usage

From source file:hd3gtv.embddb.network.DataBlock.java

public String toString() {
    AtomicInteger all_size = new AtomicInteger(0);
    entries.forEach(block -> {//from   w  ww. j  a va  2 s . c o m
        all_size.addAndGet(block.getLen());
    });

    if (entries.size() == 1) {
        return request_name + " (" + all_size.get() + " bytes in 1 item)";
    } else {
        return request_name + " (" + all_size.get() + " bytes in " + entries.size() + " items)";
    }
}

From source file:io.cloudslang.orchestrator.services.OrchestratorDispatcherServiceImpl.java

private void dispatch(List<? extends Serializable> messages) {
    Validate.notNull(messages, "Messages list is null");

    if (logger.isDebugEnabled())
        logger.debug("Dispatching " + messages.size() + " messages");
    long t = System.currentTimeMillis();
    final AtomicInteger messagesCounter = new AtomicInteger(0);

    dispatch(messages, ExecutionMessage.class, new Handler<ExecutionMessage>() {
        @Override/*from  w  w w .ja v  a  2 s . co m*/
        public void handle(List<ExecutionMessage> messages) {
            messagesCounter.addAndGet(messages.size());
            queueDispatcher.dispatch(messages);
        }
    });

    dispatch(messages, SplitMessage.class, new Handler<SplitMessage>() {
        @Override
        public void handle(List<SplitMessage> messages) {
            messagesCounter.addAndGet(messages.size());
            splitJoinService.split(messages);
        }
    });

    t = System.currentTimeMillis() - t;
    if (logger.isDebugEnabled())
        logger.debug("Dispatching " + messagesCounter.get() + " messages is done in " + t + " ms");
    if (messages.size() > messagesCounter.get()) {
        logger.warn((messages.size() - messagesCounter.get())
                + " messages were not being dispatched, since unknown type");
    }
}

From source file:org.apache.tapestry5.func.ZippedFlowTests.java

@Test
public void zipped_worker() {
    final AtomicInteger count = new AtomicInteger();

    zipped.each(new Worker<Tuple<Integer, String>>() {
        public void work(Tuple<Integer, String> value) {
            count.addAndGet(value.second.length());
        }// ww  w .j  a v a  2 s  . co  m

    });

    assertEquals(count.get(), 15);
}

From source file:org.wso2.andes.kernel.MessageCountFlusher.java

/**
 * Increment or decrement the queue count by given delta. Count update is reflected in store when either the count
 * update batch size (messageCountFlushNumberGap) is reached or scheduled message count update task is triggered
 *
 * @param queueName name of the queue to update the queue count
 * @param delta     value to be decrement or increment. Positive value to increment and vice versa
 *///w ww.  ja v  a  2s  .  co m
private void updateQueueCount(String queueName, int delta) {
    AtomicInteger difference = messageCountDifferenceMap.get(queueName);
    if (null == difference) {
        difference = new AtomicInteger(0);
        messageCountDifferenceMap.put(queueName, difference);
    }

    // Decrement value and get the current value
    int newDifference = difference.addAndGet(delta);
    // We use the new value at the time we decrement and make decisions on that value.
    // we flush this value to store in 100 message tabs.
    if (newDifference % messageCountFlushNumberGap == 0) {
        // "newDifference" is already updated in "difference"  as well
        flushToStore(queueName, difference);
    }
}

From source file:org.piraso.server.service.ResponseLoggerServiceImplTest.java

/**
 * Helper method to ensure that the service stops when number of logs is reached.
 *
 * @param count the log count before stop
 * @throws UnsupportedEncodingException on error
 *///from   w w  w  . j a v a  2  s  . co  m
private void stopOnWriteTimes(final int count) throws UnsupportedEncodingException {
    PrintWriter writer = spy(response.getWriter());
    doReturn(writer).when(response).getWriter();
    final AtomicInteger ctr = new AtomicInteger(0);

    doAnswer(new Answer() {
        public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
            if (ctr.addAndGet(1) > count) {
                service.stop();
            }

            return invocationOnMock.callRealMethod();
        }
    }).when(writer).println(anyString());
}

From source file:anhttpclient.AnhttpclientTest.java

@Test
public void testCookies() throws Exception {

    final String cookieName1 = "PREF";
    final String cookieValue1 = "ID=120db22e4e2810cb:FF=0:TM=1318488512:LM=1318488512:S=tTZoDOAsNIbsiH4R";
    final String cookieParams1 = "expires=Sat, 12-Oct-2099 06:48:32 GMT; path=/; domain=localhost";

    final String cookieName2 = "NID";
    final String cookieValue2 = "52=fa8SxaS_YoBUQ7jLIy9bp14biO";
    final String cookieParams2 = "expires=Fri, 13-Apr-2099 06:48:32 GMT; path=/; domain=localhost; HttpOnly";

    final AtomicInteger requestCount = new AtomicInteger(0);

    server.addHandler("/cookies", new ByteArrayHandlerAdapter() {
        public byte[] getResponseAsByteArray(HttpRequestContext httpRequestContext) {
            requestCount.addAndGet(1);

            if (requestCount.get() == 1) {
                setResponseHeader("Set-Cookie", cookieName1 + "=" + cookieValue1 + "; " + cookieParams1,
                        httpRequestContext);
            } else if (requestCount.get() == 2) {
                assertEquals(cookieName1 + "=" + cookieValue1,
                        httpRequestContext.getRequestHeaders().get("Cookie").get(0));
                setResponseHeader("Set-Cookie", cookieName2 + "=" + cookieValue2 + "; " + cookieParams2,
                        httpRequestContext);
            } else {
                //Sends only one cookie somewhy
                //assertEquals(cookieName1 + "; " + cookieName2, httpRequestContext.getRequestHeaders().get("Cookie"));
            }/*from w w w  .  j ava 2 s .  co  m*/

            return "OK".getBytes();
        }
    });

    WebRequest req = new HttpGetWebRequest(server.getBaseUrl() + "/cookies");
    wb.getResponse(req);
    Cookie cookie1 = wb.getCookieByName(cookieName1);
    assertEquals("Invalid cookie 1", cookieName1, cookie1.getName());
    assertEquals("Invalid cookie 1", cookieValue1, cookie1.getValue());
    wb.getResponse(req);

    cookie1 = wb.getCookieByName(cookieName1);
    assertEquals("Invalid cookie 1", cookieName1, cookie1.getName());
    assertEquals("Invalid cookie 1", cookieValue1, cookie1.getValue());

    Cookie cookie2 = wb.getCookieByName(cookieName2);
    assertEquals("Invalid cookie 2", cookieName2, cookie2.getName());
    assertEquals("Invalid cookie2", cookieValue2, cookie2.getValue());

    wb.getResponse(req);
}

From source file:org.apache.hadoop.mapreduce.v2.app.speculate.DefaultSpeculator.java

private synchronized void processSpeculatorEvent(SpeculatorEvent event) {
    switch (event.getType()) {
    case ATTEMPT_STATUS_UPDATE:
        statusUpdate(event.getReportedStatus(), event.getTimestamp());
        break;/*from   w w w.  j  a v  a  2  s  .c o m*/

    case TASK_CONTAINER_NEED_UPDATE: {
        AtomicInteger need = containerNeed(event.getTaskID());
        need.addAndGet(event.containersNeededChange());
        break;
    }

    case ATTEMPT_START: {
        LOG.info("ATTEMPT_START " + event.getTaskID());
        estimator.enrollAttempt(event.getReportedStatus(), event.getTimestamp());
        break;
    }

    case JOB_CREATE: {
        LOG.info("JOB_CREATE " + event.getJobID());
        estimator.contextualize(getConfig(), context);
        break;
    }
    }
}

From source file:org.springframework.yarn.am.allocate.DefaultAllocateCountTracker.java

/**
 * Adds new count of containers into 'host', 'rack'
 * and 'any' pending requests./*from   w  w w .  ja  va  2  s.  c  o m*/
 *
 * @param containerAllocateData the container allocate data
 */
public void addContainers(ContainerAllocateData containerAllocateData) {
    // Adding incoming host counts to internal map
    Map<String, Integer> rackCountsAdded = new HashMap<String, Integer>();
    Iterator<Entry<String, Integer>> iterator = containerAllocateData.getHosts().entrySet().iterator();
    while (iterator.hasNext()) {
        Entry<String, Integer> entry = iterator.next();
        AtomicInteger atomicInteger = pendingHosts.get(entry.getKey());
        if (atomicInteger == null) {
            atomicInteger = new AtomicInteger();
            pendingHosts.put(entry.getKey(), atomicInteger);
        }
        atomicInteger.addAndGet(entry.getValue());

        String resolvedRack = resolveRack(configuration, entry.getKey());
        if (StringUtils.hasText(resolvedRack)) {
            AtomicInteger atomicInteger2 = pendingRacks.get(resolvedRack);
            if (atomicInteger2 == null) {
                atomicInteger2 = new AtomicInteger();
                pendingRacks.put(resolvedRack, atomicInteger2);
            }
            atomicInteger2.addAndGet(entry.getValue());
            rackCountsAdded.put(resolvedRack, entry.getValue());
        }

    }

    // Adding incoming rack counts to internal map
    iterator = containerAllocateData.getRacks().entrySet().iterator();
    while (iterator.hasNext()) {
        Entry<String, Integer> entry = iterator.next();
        AtomicInteger atomicInteger = pendingRacks.get(entry.getKey());
        if (atomicInteger == null) {
            atomicInteger = new AtomicInteger();
            pendingRacks.put(entry.getKey(), atomicInteger);
        }
        Integer rackCountAlreadyAdded = rackCountsAdded.get(entry.getKey());
        Integer toAdd = rackCountAlreadyAdded != null ? entry.getValue() - rackCountAlreadyAdded
                : entry.getValue();
        atomicInteger.addAndGet(Math.max(toAdd, 0));
    }

    // Adding incoming any count
    addContainers(containerAllocateData.getAny());
}

From source file:org.apache.blur.shell.QueryCommand.java

private void count(Column column, AtomicInteger columnCount, AtomicInteger columnSize) {
    columnCount.incrementAndGet();//from w  w w .ja  v  a 2 s . c  o m
    String name = column.getName();
    String value = column.getValue();
    columnSize.addAndGet(name.length() * 2);
    columnSize.addAndGet(value.length() * 2);
}

From source file:org.apache.pulsar.broker.service.Consumer.java

public void redeliverUnacknowledgedMessages() {
    // cleanup unackedMessage bucket and redeliver those unack-msgs again
    clearUnAckedMsgs(this);
    blockedConsumerOnUnackedMsgs = false;
    // redeliver unacked-msgs
    subscription.redeliverUnacknowledgedMessages(this);
    flowConsumerBlockedPermits(this);
    if (pendingAcks != null) {
        AtomicInteger totalRedeliveryMessages = new AtomicInteger(0);
        pendingAcks.forEach(/*www  . j a  va  2s  .  com*/
                (ledgerId, entryId, batchSize, none) -> totalRedeliveryMessages.addAndGet((int) batchSize));
        msgRedeliver.recordMultipleEvents(totalRedeliveryMessages.get(), totalRedeliveryMessages.get());
        pendingAcks.clear();
    }

}