// $Id$
//
// Copyright (C) 2006
-// Fraunhofer Institute for Open Communication Systems (FOKUS)
-// Competence Center NETwork research (NET), St. Augustin, GERMANY
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
//
// This program is free software; you can redistribute it and/or modify
// Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#ifndef HH_SocketProtocol_test_
-#define HH_SocketProtocol_test_ 1
+#ifndef HH_SENF_Socket_SocketProtocol_test_
+#define HH_SENF_Socket_SocketProtocol_test_ 1
// Custom includes
#include "SocketProtocol.hh"
namespace senf {
namespace test {
- class SomeProtocol
- : public ConcreteSocketProtocol<SomeSocketPolicy,SomeProtocol>
+ class SomeSocketProtocol
+ : public ConcreteSocketProtocol<SomeSocketPolicy,SomeSocketProtocol>
{
public:
- ~SomeProtocol() {}
+ ~SomeSocketProtocol() {}
- void init_client() const {}
- void init_server() const {}
+ void init_client() const { fd(0); }
+ void init_server() const { fd(0); }
unsigned available() const
{ return Policy::ReadPolicy::TEST_SIZE; }
bool eof() const
{ return false; }
+
+ virtual void close() {
+ closeCount(1);
+ }
+
+ static unsigned closeCount(unsigned inc=0) {
+ static unsigned counter (0);
+ counter += inc;
+ return counter;
+ }
};
}}