Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   Related Pages  

InternalServer.cc

00001 /*
00002  * Copyright 2003 Michael A. Marsh, Cornell University. All rights reserved.
00003  * This software is released under the modified BSD license.
00004  * See the file LICENSE in the top-level directory for details.
00005  */
00006 //
00007 // $Id: InternalServer.cc,v 1.3 2004/05/19 15:56:58 mmarsh Exp $
00008 //
00009 // $Log: InternalServer.cc,v $
00010 // Revision 1.3  2004/05/19 15:56:58  mmarsh
00011 // *** empty log message ***
00012 //
00013 // Revision 1.2  2003/11/04 22:31:50  mmarsh
00014 // *** empty log message ***
00015 //
00016 //
00017 
00018 #include "InternalServer.h"
00019 #include "CODEX_Quorum/SocketBuilder.h"
00020 #include "CODEX_Quorum/RemoteServer.h"
00021 #include "InternalVerifier.h"
00022 
00023 using namespace CODEX_Server;
00024 
00025 InternalServer::InternalServer(
00026    int port,
00027    const CODEX_Quorum::SocketBuilder& socketBuilder) :
00028    CODEX_Quorum::LocalServer( port, socketBuilder )
00029 {
00030 }
00031 
00032 InternalServer::~InternalServer()
00033 {
00034 }
00035 
00036 void
00037 InternalServer::processRequest( CODEX_Quorum::SocketBase::StateType s )
00038 {
00039    using CODEX_Quorum::SocketBase;
00040    SocketBase* skt;
00041    if ( s != SocketBase::kRead )
00042    {
00043       return;
00044    }
00045    // Failures must not cause the server to die.
00046    try
00047    {
00048       skt = socket()->accept();
00049       new InternalVerifier( port(), builder(), skt );
00050    }
00051    catch ( ... )
00052    {
00053       // ignore
00054    }
00055 }

Generated on Wed Jun 2 16:32:55 2004 for COrnell Data EXchange (CODEX) by doxygen1.2.18