You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.1 KiB
36 lines
1.1 KiB
/*
|
|
*
|
|
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
|
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
|
*/
|
|
// Copyright (c) 1995-96 by Cisco Systems, Inc.
|
|
|
|
package com.sun.jmx.snmp.daemon;
|
|
|
|
/**
|
|
* A static instance of this class is usually created. It contains a
|
|
* counter that is incremented every time it is accessed. For example,
|
|
* this class can be used in <CODE>SnmpSession</CODE> to generate a request
|
|
* identifier that is used to identify a message in a client-server session.
|
|
* The class wraps around when it reaches the maximum positive value, 2^31 - 1.
|
|
*/
|
|
|
|
final class SnmpRequestCounter {
|
|
/**
|
|
* A counter with value between 1...2^31-1.
|
|
*/
|
|
int reqid = 0 ;
|
|
|
|
public SnmpRequestCounter() {}
|
|
|
|
/**
|
|
* Returns the next request identifier.
|
|
* @return next request identifier. The value wraps to 1 if it reaches negative value.
|
|
*/
|
|
public synchronized int getNewId() {
|
|
if (++reqid < 0)
|
|
reqid = 1 ;
|
|
return reqid ;
|
|
}
|
|
}
|