[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[myserver-commit] [3063] The new SocketHandle type was added.
From: |
Giuseppe Scrivano |
Subject: |
[myserver-commit] [3063] The new SocketHandle type was added. |
Date: |
Thu, 30 Apr 2009 22:52:57 +0000 |
Revision: 3063
http://svn.sv.gnu.org/viewvc/?view=rev&root=myserver&revision=3063
Author: gscrivano
Date: 2009-04-30 22:52:57 +0000 (Thu, 30 Apr 2009)
Log Message:
-----------
The new SocketHandle type was added.
Modified Paths:
--------------
trunk/myserver/include/base/process/process_server_manager.h
trunk/myserver/include/base/socket/socket.h
trunk/myserver/include/base/socket_pair/socket_pair.h
trunk/myserver/include/base/unix_socket/unix_socket.h
trunk/myserver/include/base/utility.h
trunk/myserver/include/connections_scheduler/connections_scheduler.h
trunk/myserver/include/filter/stream.h
trunk/myserver/src/base/socket/socket.cpp
trunk/myserver/src/base/socket_pair/socket_pair.cpp
trunk/myserver/src/base/unix_socket/unix_socket.cpp
trunk/myserver/src/base/utility.cpp
trunk/myserver/src/connections_scheduler/connections_scheduler.cpp
trunk/myserver/src/filter/stream.cpp
Modified: trunk/myserver/include/base/process/process_server_manager.h
===================================================================
--- trunk/myserver/include/base/process/process_server_manager.h
2009-04-30 22:52:51 UTC (rev 3062)
+++ trunk/myserver/include/base/process/process_server_manager.h
2009-04-30 22:52:57 UTC (rev 3063)
@@ -42,7 +42,7 @@
union
{
unsigned long fileHandle;
- SOCKET sock;
+ SocketHandle sock;
unsigned int value;
}DESCRIPTOR;
Modified: trunk/myserver/include/base/socket/socket.h
===================================================================
--- trunk/myserver/include/base/socket/socket.h 2009-04-30 22:52:51 UTC (rev
3062)
+++ trunk/myserver/include/base/socket/socket.h 2009-04-30 22:52:57 UTC (rev
3063)
@@ -46,11 +46,17 @@
#include <unistd.h>
}
-#define SOCKET int
#define INVALID_SOCKET -1
#define SD_BOTH SHUT_RDWR
#endif
+#ifdef WIN32
+typedef SOCKET SocketHandle;
+#else
+typedef int SocketHandle;
+#endif
+
+
#ifdef INET6_ADDRSTRLEN
#define MAX_IP_STRING_LEN INET6_ADDRSTRLEN
#else
@@ -71,8 +77,8 @@
Socket* getServerSocket();
static void stopBlockingOperations(bool);
- virtual FileHandle getHandle();
- void setHandle(FileHandle);
+ virtual Handle getHandle();
+ void setHandle(SocketHandle);
static MYSERVER_HOSTENT *gethostbyaddr(char* addr, int len, int type);
static MYSERVER_HOSTENT *gethostbyname(const char*);
static int gethostname(char*, int);
@@ -81,7 +87,7 @@
int listen(int);
Socket();
Socket(Socket*);
- Socket(FileHandle);
+ Socket(SocketHandle);
Socket accept(MYSERVER_SOCKADDR*, int*);
int setsockopt(int,int, const char*,int);
@@ -111,11 +117,7 @@
virtual int write(const char* buffer, u_long len, u_long *nbw);
protected:
-#ifdef WIN32
- SOCKET socketHandle;
-#else
- FileHandle socketHandle;
-#endif
+ SocketHandle socketHandle;
/*! Pointer to the socket that has accepted this connection. */
Socket *serverSocket;
Modified: trunk/myserver/include/base/socket_pair/socket_pair.h
===================================================================
--- trunk/myserver/include/base/socket_pair/socket_pair.h 2009-04-30
22:52:51 UTC (rev 3062)
+++ trunk/myserver/include/base/socket_pair/socket_pair.h 2009-04-30
22:52:57 UTC (rev 3063)
@@ -32,27 +32,19 @@
public:
SocketPair ();
int create ();
-#ifdef WIN32
- SOCKET getFirstHandle ();
- SOCKET getSecondHandle ();
-#else
- FileHandle getFirstHandle ();
- FileHandle getSecondHandle ();
-#endif
+ SocketHandle getFirstHandle ();
+ SocketHandle getSecondHandle ();
+
void inverted (SocketPair&);
virtual int close ();
void closeFirstHandle ();
void closeSecondHandle ();
void setNonBlocking (bool blocking);
- int readHandle (FileHandle*);
- int writeHandle (FileHandle);
+ int readHandle (Handle*);
+ int writeHandle (Handle);
protected:
-#ifdef WIN32
- SOCKET handles[2];
-#else
- FileHandle handles[2];
-#endif
+ SocketHandle handles[2];
};
#endif
Modified: trunk/myserver/include/base/unix_socket/unix_socket.h
===================================================================
--- trunk/myserver/include/base/unix_socket/unix_socket.h 2009-04-30
22:52:51 UTC (rev 3062)
+++ trunk/myserver/include/base/unix_socket/unix_socket.h 2009-04-30
22:52:57 UTC (rev 3063)
@@ -49,8 +49,8 @@
sockaddr_un addr;
#endif
- int readHandle (FileHandle* fd);
- int writeHandle (FileHandle fd);
+ int readHandle (Handle* fd);
+ int writeHandle (Handle fd);
private:
#ifdef AF_UNIX
Modified: trunk/myserver/include/base/utility.h
===================================================================
--- trunk/myserver/include/base/utility.h 2009-04-30 22:52:51 UTC (rev
3062)
+++ trunk/myserver/include/base/utility.h 2009-04-30 22:52:57 UTC (rev
3063)
@@ -55,7 +55,7 @@
int setcwd(const char * cwd);
int freecwdBuffer();
-int readFileHandle (FileHandle s, FileHandle* fd);
-int writeFileHandle (FileHandle s, FileHandle fd);
+int readFileHandle (SocketHandle s, Handle* fd);
+int writeFileHandle (SocketHandle s, Handle fd);
#endif
Modified: trunk/myserver/include/connections_scheduler/connections_scheduler.h
===================================================================
--- trunk/myserver/include/connections_scheduler/connections_scheduler.h
2009-04-30 22:52:51 UTC (rev 3062)
+++ trunk/myserver/include/connections_scheduler/connections_scheduler.h
2009-04-30 22:52:57 UTC (rev 3063)
@@ -102,7 +102,7 @@
u_long getNumTotalConnections();
- void newData(short event, FileHandle handle);
+ void newData(short event, SocketHandle handle);
private:
Server* server;
@@ -116,7 +116,7 @@
Mutex eventsMutex;
Mutex eventsSocketMutex;
queue<ConnectionPtr> *ready;
- HashMap<FileHandle, ConnectionPtr> connections;
+ HashMap<SocketHandle, ConnectionPtr> connections;
list<ListenerArg*> listeners;
u_long currentPriority;
u_long currentPriorityDone;
Modified: trunk/myserver/include/filter/stream.h
===================================================================
--- trunk/myserver/include/filter/stream.h 2009-04-30 22:52:51 UTC (rev
3062)
+++ trunk/myserver/include/filter/stream.h 2009-04-30 22:52:57 UTC (rev
3063)
@@ -22,8 +22,14 @@
#include "stdafx.h"
#ifdef WIN32
-typedef void* FileHandle;
+typedef void* Handle;
#else
+typedef int Handle;
+#endif
+
+#ifdef WIN32
+typedef HANDLE FileHandle;
+#else
typedef int FileHandle;
#endif
@@ -36,7 +42,7 @@
virtual int read(char* buffer, u_long len, u_long*);
virtual int write(const char* buffer, u_long len, u_long*);
virtual int flush(u_long*);
- virtual FileHandle getHandle();
+ virtual Handle getHandle();
virtual int close();
Stream();
/*! Avoid direct instances of this class. */
Modified: trunk/myserver/src/base/socket/socket.cpp
===================================================================
--- trunk/myserver/src/base/socket/socket.cpp 2009-04-30 22:52:51 UTC (rev
3062)
+++ trunk/myserver/src/base/socket/socket.cpp 2009-04-30 22:52:57 UTC (rev
3063)
@@ -59,21 +59,17 @@
/*!
*Returns the socket handle
*/
-FileHandle Socket::getHandle()
+Handle Socket::getHandle()
{
- return (FileHandle) socketHandle;
+ return (Handle) socketHandle;
}
/*!
*Set the handle for the socket
*/
-void Socket::setHandle(FileHandle h)
+void Socket::setHandle(SocketHandle h)
{
-#ifdef WIN32
- socketHandle = (SOCKET) h;
-#else
socketHandle = h;
-#endif
}
/*!
@@ -112,7 +108,7 @@
/*!
*Set the base/socket/socket.handle.
*/
-Socket::Socket(FileHandle handle)
+Socket::Socket(SocketHandle handle)
{
throttlingRate = 0;
setHandle (handle);
@@ -200,19 +196,12 @@
{
Socket s;
-#ifdef WIN32
- FileHandle h = (FileHandle)::accept(socketHandle,(struct sockaddr*)sa,
- sockaddrlen);
- s.setHandle(h);
-#else
socklen_t connectSize;
- int acceptHandle;
connectSize = (socklen_t) *sockaddrlen;
- acceptHandle = ::accept((int)socketHandle, (struct sockaddr *)sa,
- (socklen_t*)&connectSize);
+ SocketHandle acceptHandle = ::accept((int)socketHandle, (struct sockaddr
*)sa,
+ (socklen_t*)&connectSize);
s.setHandle(acceptHandle);
-#endif
return s;
}
Modified: trunk/myserver/src/base/socket_pair/socket_pair.cpp
===================================================================
--- trunk/myserver/src/base/socket_pair/socket_pair.cpp 2009-04-30 22:52:51 UTC
(rev 3062)
+++ trunk/myserver/src/base/socket_pair/socket_pair.cpp 2009-04-30 22:52:57 UTC
(rev 3063)
@@ -142,11 +142,7 @@
/*!
*Get the first handle used by the socket pair.
*/
-#ifdef WIN32
-SOCKET SocketPair::getFirstHandle ()
-#else
-FileHandle SocketPair::getFirstHandle ()
-#endif
+SocketHandle SocketPair::getFirstHandle ()
{
return handles[0];
}
@@ -154,11 +150,7 @@
/*!
*Get the second handle used by the socket pair.
*/
-#ifdef WIN32
-SOCKET SocketPair::getSecondHandle ()
-#else
-FileHandle SocketPair::getSecondHandle ()
-#endif
+SocketHandle SocketPair::getSecondHandle ()
{
return handles[1];
}
@@ -194,7 +186,7 @@
*/
void SocketPair::closeFirstHandle ()
{
- Socket sock ((FileHandle)handles[0]);
+ Socket sock (handles[0]);
sock.close ();
}
@@ -203,7 +195,7 @@
*/
void SocketPair::closeSecondHandle ()
{
- Socket sock ((FileHandle)handles[1]);
+ Socket sock (handles[1]);
sock.close ();
}
@@ -213,10 +205,10 @@
*/
void SocketPair::setNonBlocking (bool notBlocking)
{
- Socket sock0 ((FileHandle)handles[0]);
+ Socket sock0 (handles[0]);
sock0.setNonBlocking (notBlocking);
- Socket sock1 ((FileHandle)handles[1]);
+ Socket sock1 (handles[1]);
sock1.setNonBlocking (notBlocking);
}
@@ -225,9 +217,9 @@
*\param fd The file descriptor to read.
*\return 0 on success.
*/
-int SocketPair::readHandle (FileHandle* fd)
+int SocketPair::readHandle (Handle* fd)
{
- return readFileHandle ((FileHandle)handles[0], fd);
+ return readFileHandle (handles[0], fd);
}
/*!
@@ -235,7 +227,7 @@
*\param fd The file descriptor to transmit.
*\return 0 on success.
*/
-int SocketPair::writeHandle (FileHandle fd)
+int SocketPair::writeHandle (Handle fd)
{
- return writeFileHandle ((FileHandle)handles[0], fd);
+ return writeFileHandle (handles[0], fd);
}
Modified: trunk/myserver/src/base/unix_socket/unix_socket.cpp
===================================================================
--- trunk/myserver/src/base/unix_socket/unix_socket.cpp 2009-04-30 22:52:51 UTC
(rev 3062)
+++ trunk/myserver/src/base/unix_socket/unix_socket.cpp 2009-04-30 22:52:57 UTC
(rev 3063)
@@ -128,9 +128,9 @@
*\param fd The file descriptor to read.
*\return 0 on success.
*/
-int UnixSocket::readHandle (FileHandle* fd)
+int UnixSocket::readHandle (Handle* fd)
{
- return readFileHandle (getHandle (), fd);
+ return readFileHandle (socketHandle, fd);
}
/*!
@@ -138,7 +138,7 @@
*\param fd The file descriptor to transmit.
*\return 0 on success.
*/
-int UnixSocket::writeHandle (FileHandle fd)
+int UnixSocket::writeHandle (Handle fd)
{
- return writeFileHandle (getHandle (), fd);
+ return writeFileHandle (socketHandle, fd);
}
Modified: trunk/myserver/src/base/utility.cpp
===================================================================
--- trunk/myserver/src/base/utility.cpp 2009-04-30 22:52:51 UTC (rev 3062)
+++ trunk/myserver/src/base/utility.cpp 2009-04-30 22:52:57 UTC (rev 3063)
@@ -325,7 +325,7 @@
*\param File handle received.
*\return 0 on success.
*/
-int readFileHandle (FileHandle s, FileHandle* fd)
+int readFileHandle (SocketHandle s, Handle* fd)
{
#ifdef WIN32
return -1;
@@ -361,7 +361,7 @@
*\param File handle received.
*\return 0 on success.
*/
-int writeFileHandle (FileHandle s, FileHandle fd)
+int writeFileHandle (SocketHandle s, Handle fd)
{
#ifdef WIN32
return -1;
Modified: trunk/myserver/src/connections_scheduler/connections_scheduler.cpp
===================================================================
--- trunk/myserver/src/connections_scheduler/connections_scheduler.cpp
2009-04-30 22:52:51 UTC (rev 3062)
+++ trunk/myserver/src/connections_scheduler/connections_scheduler.cpp
2009-04-30 22:52:57 UTC (rev 3063)
@@ -68,13 +68,13 @@
ConnectionsScheduler::DispatcherArg* arg =
(ConnectionsScheduler::DispatcherArg*) param;
if(!arg->terminate && arg->scheduler)
- arg->scheduler->newData(event, (FileHandle)fd);
+ arg->scheduler->newData(event, fd);
}
-void ConnectionsScheduler::newData(short event, FileHandle handle)
+void ConnectionsScheduler::newData(short event, SocketHandle handle)
{
- ConnectionPtr connection = connections.get(handle);
+ ConnectionPtr connection = connections.get (handle);
if(connection == NULL || server == NULL)
return;
@@ -100,7 +100,7 @@
u_long nbr;
if (event == EV_READ || event == EV_TIMEOUT)
{
- Socket sock ((FileHandle) da->socketPair.getFirstHandle ());
+ Socket sock (da->socketPair.getFirstHandle ());
while (da->socketPair.bytesToRead())
{
@@ -111,15 +111,15 @@
/*
*Schedule a new connection.
*The 'c' command is followed by:
- *FileHandle -> Socket to monitor for new data.
+ *SocketHandle -> Socket to monitor for new data.
*ConnectionPtr -> Related Connection.
*timeval -> Timeout.
*/
- FileHandle handle;
+ SocketHandle handle;
ConnectionPtr c;
timeval tv = {10, 0};
- da->socketPair.read ((char*)&handle, sizeof(FileHandle), &nbr);
+ da->socketPair.read ((char*)&handle, sizeof(SocketHandle), &nbr);
da->socketPair.read ((char*)&c, sizeof(ConnectionPtr), &nbr);
da->socketPair.read ((char*)&tv, sizeof(timeval), &nbr);
@@ -152,8 +152,7 @@
asockInLen = sizeof (asockIn);
asock = s->serverSocket->accept (&asockIn, &asockInLen);
- if (s->server &&
- asock.getHandle() != (FileHandle)INVALID_SOCKET)
+ if (s->server && (SocketHandle)asock.getHandle() != INVALID_SOCKET)
{
s->server->addConnection (asock, &asockIn);
}
@@ -186,7 +185,7 @@
event_add(&(arg->ev), &tv);
u_long nbw;
- Socket sock ((FileHandle)dispatcherArg.socketPair.getSecondHandle ());
+ Socket sock (dispatcherArg.socketPair.getSecondHandle ());
eventsSocketMutex.lock();
sock.write("l", 1, &nbw);
@@ -386,7 +385,7 @@
void ConnectionsScheduler::addWaitingConnectionImpl(ConnectionPtr c, int lock)
{
static timeval tv = {10, 0};
- FileHandle handle = c->socket ? c->socket->getHandle() : NULL;
+ SocketHandle handle = c->socket ? (SocketHandle) c->socket->getHandle() :
NULL;
if(server)
tv.tv_sec = server->getTimeout() / 1000;
@@ -408,11 +407,11 @@
if(lock)
{
u_long nbw;
- Socket sock ((FileHandle)dispatcherArg.socketPair.getSecondHandle ());
+ Socket sock (dispatcherArg.socketPair.getSecondHandle ());
eventsSocketMutex.lock();
sock.write("c", 1, &nbw);
- sock.write((char*)&handle, sizeof(FileHandle), &nbw);
+ sock.write((char*)&handle, sizeof(SocketHandle), &nbw);
sock.write((char*)&c, sizeof(ConnectionPtr), &nbw);
sock.write((char*)&tv, sizeof(timeval), &nbw);
eventsSocketMutex.unlock();
@@ -482,8 +481,8 @@
readySemaphore->unlock();
}
- Socket sockR ((FileHandle)dispatcherArg.socketPair.getFirstHandle ());
- Socket sockW ((FileHandle)dispatcherArg.socketPair.getSecondHandle ());
+ Socket sockR (dispatcherArg.socketPair.getFirstHandle ());
+ Socket sockW (dispatcherArg.socketPair.getSecondHandle ());
eventsSocketMutex.lock();
sockW.write("r", 1, &nbw);
@@ -525,7 +524,7 @@
connectionsMutex.lock();
- HashMap<FileHandle, ConnectionPtr>::Iterator it = connections.begin();
+ HashMap<SocketHandle, ConnectionPtr>::Iterator it = connections.begin();
for(; it != connections.end(); it++)
out.push_back(*it);
@@ -547,7 +546,7 @@
{
connectionsMutex.lock();
if(connection->socket)
- connections.remove(connection->socket->getHandle());
+ connections.remove((SocketHandle)connection->socket->getHandle());
connectionsMutex.unlock();
delete connection;
}
@@ -563,7 +562,7 @@
{
connectionsMutex.lock();
- HashMap<FileHandle, ConnectionPtr>::Iterator it = connections.begin();
+ HashMap<SocketHandle, ConnectionPtr>::Iterator it = connections.begin();
for(; it != connections.end(); it++)
{
ConnectionPtr c = *it;
@@ -601,7 +600,7 @@
try
{
- for(HashMap<FileHandle, ConnectionPtr>::Iterator it = connections.begin();
+ for(HashMap<SocketHandle, ConnectionPtr>::Iterator it =
connections.begin();
it != connections.end() && !ret;
it++)
{
Modified: trunk/myserver/src/filter/stream.cpp
===================================================================
--- trunk/myserver/src/filter/stream.cpp 2009-04-30 22:52:51 UTC (rev
3062)
+++ trunk/myserver/src/filter/stream.cpp 2009-04-30 22:52:57 UTC (rev
3063)
@@ -1,6 +1,6 @@
/*
MyServer
-Copyright (C) 2002, 2003, 2004, 2008 Free Software Foundation, Inc.
+Copyright (C) 2002, 2003, 2004, 2008, 2009 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
@@ -70,7 +70,7 @@
/*!
*Get the file handle.
*/
-FileHandle Stream::getHandle()
+Handle Stream::getHandle()
{
return 0;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [myserver-commit] [3063] The new SocketHandle type was added.,
Giuseppe Scrivano <=