yate学习--yateclass.h--class YATE_API NamedCounter : public String

请声明出处:

NamedCounter,对象命名的计数器:

/**
 * An atomic counter with an associated name
 * 关联名的原子计数器
 * @short Atomic counter with name
 * @short 名字的原子计数器
 */
class YATE_API NamedCounter : public String
{
    YNOCOPY(NamedCounter); // no automatic copies please
public:
    /**
     * Constructor
     * 构造函数
     * @param name Name of the counter
     * @参数name,计数器的名字
     */
    explicit NamedCounter(const String& name);

    /**
     * Check if the counter is enabled
     * 检查计数器是否是启用的
     * @return True if the counter is enabled
     * @返回true,如果计数器是启动的
     */
    inline bool enabled() const
	{ return m_enabled; }

    /**
     * Enable or disable the counter
     * 启用或者禁用这个计数器
     * @param val True to enable counter, false to disable
     * @参数val,true , 启用,false, 禁止
     */
    inline void enable(bool val)
	{ m_enabled = val; }

    /**
     * Increment the counter
     * 增加计数
     * @return Post-increment value of the counter
     * @返回计数器增加之后的值
     */
    int inc();

    /**
     * Decrement the counter
     * 减少计数
     * @return Post-decrement value of the counter
     * @返回计数器减少之后的值
     */
    int dec();

    /**
     * Get the current value of the counter
     * 获得当前计数器的值
     * @return Value of the counter
     * @返回计数器的值
     */
    inline int count() const
	{ return m_count; }

private:
    int m_count;
    bool m_enabled;
    Mutex* m_mutex;
};
时间: 2024-11-05 17:26:52

yate学习--yateclass.h--class YATE_API NamedCounter : public String的相关文章

yate学习--yateclass.h--class YATE_API Socket : public Stream

请声明出处: Socket,网络套接字的类,包括创建.绑定.监听.接受.发送.接收等操作: /** * This class encapsulates a system dependent socket in a system independent abstraction * 这个类封装了一个依赖于系统的套接字系统独立的抽象 * @short A generic socket class * @short 一般的套接字的类 */ class YATE_API Socket : public S

yate学习--yateclass.h--class YATE_API RefObject : public GenObject

请声明出处: 对象的引用计数的类,基本大部分的类都继承了该类: /** * A reference counted object. * 引用计数的对象 * Whenever using multiple inheritance you should inherit this class virtually. * 使用多重继承,一般都会继承这个类 */ class YATE_API RefObject : public GenObject { YNOCOPY(RefObject); // no a

yate学习--yateclass.h--class YATE_API Stream

转载说明: yate中所有基于流操作的基类: /** * Base class for encapsulating system dependent stream capable objects * 封装能够基于系统的流对象的基类 * @short An abstract stream class capable of reading and writing * @short 能够读和写的抽象类 */ class YATE_API Stream { public: /** * Enumerate

yate学习--yateclass.h--class YATE_API DebugEnabler

请声明转载出: DebugEnabler,这个类用于保存和修改调试级别,也就是日志的打印级别: /** * Holds a local debugging level that can be modified separately from the * global debugging * 保留本地的调试级别,这个级别能被个别的全局调试修改 * @short A holder for a debug level * @short 保存一个调试级别 */ class YATE_API DebugE

yate学习--yatengine.h--class YATE_API MessageReceiver : public GenObject

请声明出处: MessageReceiver,这个类是一个消息接受的基类: /** * A multiple message receiver to be invoked by a message relay * 多个消息接收器调用消息传递 * @short A multiple message receiver * @short 多个消息接收器 */ class YATE_API MessageReceiver : public GenObject { public: /** * This m

yate学习--./yate/packingyate.logrotate

上一篇文章记录了yate学习--./yate/tools/log_rotate.sh: 今天继续看和日志部分的脚本./yate/packingyate.logrotate,先看看脚本源码. # Have to rotate the log and CDR files before each reaches 2GB in size /var/log/yate /var/log/yate-cdr.tsv { size=100M rotate 5 missingok sharedscripts not

Java学习(API及Object类、String类、StringBuffer字符串缓冲区)

一.JAVA的API及Object类 1.API 概念: Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可. 在JDK安装目录下有个src.zip文件,这个文件解压缩后里面的内容是所有Java类的源文件.可以在其中查看相对应的类的源码. 我们在每次查看类中的方法时,都打开源代码进

《Javascript权威指南》学习笔记之十一:处理字符串---String类和正则表达式

一.正则表达式的基本语法 1.概念:正则表达式由普通字符和特殊字符(元字符)组成的文本模式,该模式描述在查找字符串主体时待匹配的一个或者多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. 普通字符包括所有的大小写字母字符.所有数字.所有标点符号及一些特殊符号.普通字符本身可以组成一个正则表达式,也可以和元字符组合组成一个正则表达式:而元字符则具有特殊的含义,包括().[].{}./.^.$.*.+.?...|.-.?:.?=.?! 2.基本语法 3.优先权含义 二.使用

【学习笔记】常用类object和String

一. Object 类 1. toString 方法,具体查看文档 package com.zhihen.object; //默认继承Object //public class TestOjbect extends Object(){ //} public class TestObject { private int id; private String name; public int getId() { return id; } public void setId(int id) { thi