pkginclude_HEADERS = \
- bw.h \
+ timestat.h \
gdu.h \
gduqueue.h \
ir-assoc.h \
+++ /dev/null
-/* This file is part of the yazpp toolkit.
- * Copyright (C) 1998-2009 Index Data and Mike Taylor
- * All rights reserved.
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of Index Data nor the names of its contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-
-#ifndef YAZPP_BW_H
-#define YAZPP_BW_H
-
-#include <yaz/yconfig.h>
-
-namespace yazpp_1 {
- class YAZ_EXPORT Yaz_bw {
- public:
- Yaz_bw(int sz);
- ~Yaz_bw();
- void add_bytes(int m);
- int get_total();
- private:
- long m_sec; // time of most recent bucket
- int *m_bucket;
- int m_ptr;
- int m_size;
- };
-}
-
-#endif
-
-/*
- * Local variables:
- * c-basic-offset: 4
- * c-file-style: "Stroustrup"
- * indent-tabs-mode: nil
- * End:
- * vim: shiftwidth=4 tabstop=8 expandtab
- */
-
#define YAZPP_LIMIT_CONNECT_H
#include <yaz/yconfig.h>
-#include <yazpp/bw.h>
namespace yazpp_1 {
class YAZ_EXPORT LimitConnect {
--- /dev/null
+/* This file is part of the yazpp toolkit.
+ * Copyright (C) 1998-2009 Index Data and Mike Taylor
+ * All rights reserved.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of Index Data nor the names of its contributors
+ * may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+#ifndef YAZPP_TIMESTAT_H
+#define YAZPP_TIMESTAT_H
+
+#include <time.h>
+#include <yaz/yconfig.h>
+
+namespace yazpp_1 {
+ class YAZ_EXPORT TimeStat {
+ public:
+ TimeStat(int period);
+ ~TimeStat();
+ void add_bytes(int m);
+ int get_total();
+ private:
+ time_t m_sec; // time of most recent bucket
+ int *m_bucket;
+ int m_ptr;
+ int m_size;
+ };
+}
+
+#endif
+
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+
yaz-z-server.cpp yaz-pdu-assoc-thread.cpp yaz-z-server-sr.cpp \
yaz-z-server-ill.cpp yaz-z-server-update.cpp yaz-z-databases.cpp \
yaz-z-cache.cpp yaz-cql2rpn.cpp gdu.cpp gduqueue.cpp \
- bw.cpp limit-connect.cpp
+ timestat.cpp limit-connect.cpp
yaz_my_client_SOURCES=yaz-my-client.cpp
+++ /dev/null
-/* This file is part of the yazpp toolkit.
- * Copyright (C) 1998-2009 Index Data and Mike Taylor
- * All rights reserved.
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of Index Data nor the names of its contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <yazpp/bw.h>
-#include <time.h>
-
-using namespace yazpp_1;
-
-Yaz_bw::Yaz_bw(int sz)
-{
- m_sec = 0;
- m_size = sz;
- m_bucket = new int[m_size];
- m_ptr = 0;
-}
-
-Yaz_bw::~Yaz_bw()
-{
- delete [] m_bucket;
-}
-
-int Yaz_bw::get_total()
-{
- add_bytes(0);
- int bw = 0;
- int i;
- for (i = 0; i<m_size; i++)
- bw += m_bucket[i];
- return bw;
-}
-
-void Yaz_bw::add_bytes(int b)
-{
- long now = time(0);
-
- if (now >= m_sec)
- {
- int d = now - m_sec;
- if (d > m_size)
- d = m_size;
- while (--d >= 0)
- {
- if (++m_ptr == m_size)
- m_ptr = 0;
- m_bucket[m_ptr] = 0;
- }
- m_bucket[m_ptr] += b;
- }
- m_sec = now;
-}
-
-/*
- * Local variables:
- * c-basic-offset: 4
- * c-file-style: "Stroustrup"
- * indent-tabs-mode: nil
- * End:
- * vim: shiftwidth=4 tabstop=8 expandtab
- */
-
#include <time.h>
#include <string.h>
#include <yaz/xmalloc.h>
+#include <yazpp/timestat.h>
using namespace yazpp_1;
void add_connect();
char *m_peername;
- Yaz_bw m_bw;
+ TimeStat m_bw;
Peer *m_next;
};
--- /dev/null
+/* This file is part of the yazpp toolkit.
+ * Copyright (C) 1998-2009 Index Data and Mike Taylor
+ * All rights reserved.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of Index Data nor the names of its contributors
+ * may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <yazpp/timestat.h>
+
+using namespace yazpp_1;
+
+TimeStat::TimeStat(int sz)
+{
+ m_sec = 0;
+ m_size = sz;
+ m_bucket = new int[m_size];
+ m_ptr = 0;
+}
+
+TimeStat::~TimeStat()
+{
+ delete [] m_bucket;
+}
+
+int TimeStat::get_total()
+{
+ add_bytes(0);
+ int bw = 0;
+ int i;
+ for (i = 0; i<m_size; i++)
+ bw += m_bucket[i];
+ return bw;
+}
+
+void TimeStat::add_bytes(int b)
+{
+ time_t now = time(0);
+
+ if (now >= m_sec)
+ {
+ int d = now - m_sec;
+ if (d > m_size)
+ d = m_size;
+ while (--d >= 0)
+ {
+ if (++m_ptr == m_size)
+ m_ptr = 0;
+ m_bucket[m_ptr] = 0;
+ }
+ m_bucket[m_ptr] += b;
+ }
+ m_sec = now;
+}
+
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+
# Source and object modules
DLL_OBJS = \
- "$(OBJDIR)\bw.obj" \
+ "$(OBJDIR)\timestat.obj" \
"$(OBJDIR)\gdu.obj" \
"$(OBJDIR)\gduqueue.obj" \
"$(OBJDIR)\limit-connect.obj" \