OpenCores
URL https://opencores.org/ocsvn/w11/w11/trunk

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.6/] [tools/] [src/] [librw11/] [Rw11VirtTermTcp.cpp] - Diff between revs 20 and 21

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 20 Rev 21
Line 1... Line 1...
// $Id: Rw11VirtTermTcp.cpp 508 2013-04-20 18:43:28Z mueller $
// $Id: Rw11VirtTermTcp.cpp 516 2013-05-05 21:24:52Z mueller $
//
//
// Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
// Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
//
//
// This program is free software; you may redistribute and/or modify it under
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
// the terms of the GNU General Public License as published by the Free
Line 11... Line 11...
// or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
// or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
// for complete details.
// for complete details.
// 
// 
// Revision History: 
// Revision History: 
// Date         Rev Version  Comment
// Date         Rev Version  Comment
 
// 2013-05-05   516   1.0.2  fix mistakes in emsg generation with errno
// 2013-04-20   508   1.0.1  add fSndPreConQue handling
// 2013-04-20   508   1.0.1  add fSndPreConQue handling
// 2013-03-06   495   1.0    Initial version
// 2013-03-06   495   1.0    Initial version
// 2013-02-13   488   0.1    First draft
// 2013-02-13   488   0.1    First draft
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
 
 
/*!
/*!
  \file
  \file
  \version $Id: Rw11VirtTermTcp.cpp 508 2013-04-20 18:43:28Z mueller $
  \version $Id: Rw11VirtTermTcp.cpp 516 2013-05-05 21:24:52Z mueller $
  \brief   Implemenation of Rw11VirtTermTcp.
  \brief   Implemenation of Rw11VirtTermTcp.
*/
*/
 
 
#include <stdlib.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/types.h>
Line 213... Line 214...
 
 
    int irc = write(fFd, obuf, pobuf-obuf);
    int irc = write(fFd, obuf, pobuf-obuf);
    if (irc < 0) {
    if (irc < 0) {
      RlogMsg lmsg(LogFile(),'E');
      RlogMsg lmsg(LogFile(),'E');
      RerrMsg emsg("Rw11VirtTermTcp::Snd",
      RerrMsg emsg("Rw11VirtTermTcp::Snd",
                   string("write() for port ") + fChannelId +
                   string("write() for port ") + fChannelId + " failed: ",
                   string(" failed: ", errno));
                   errno);
      lmsg << emsg;
      lmsg << emsg;
    } else {
    } else {
      fStats.Inc(kStatNVTSndRaw, double(irc));
      fStats.Inc(kStatNVTSndRaw, double(irc));
    }
    }
  }
  }
Line 266... Line 267...
  fFd = accept(fFdListen, NULL, 0);
  fFd = accept(fFdListen, NULL, 0);
 
 
  if (fFd < 0) {
  if (fFd < 0) {
    RlogMsg lmsg(LogFile(),'E');
    RlogMsg lmsg(LogFile(),'E');
    RerrMsg emsg("Rw11VirtTermTcp::ListenPollHandler",
    RerrMsg emsg("Rw11VirtTermTcp::ListenPollHandler",
                 string("accept() for port ") + fChannelId +
                 string("accept() for port ") + fChannelId + " failed: ",
                 string(" failed: ", errno));
                 errno);
    lmsg << emsg;
    lmsg << emsg;
    // FIXME_code: proper error handling
    // FIXME_code: proper error handling
    return 0;
    return 0;
  }
  }
 
 
Line 316... Line 317...
    close(fFd);
    close(fFd);
    fFd = -1;
    fFd = -1;
    RlogMsg lmsg(LogFile(),'E');
    RlogMsg lmsg(LogFile(),'E');
    RerrMsg emsg("Rw11VirtTermTcp::ListenPollHandler",
    RerrMsg emsg("Rw11VirtTermTcp::ListenPollHandler",
                 string("initial write()s for port ") + fChannelId +
                 string("initial write()s for port ") + fChannelId +
                 string(" failed: ", errno));
                 " failed: ", errno);
    lmsg << emsg;
    lmsg << emsg;
    return 0;
    return 0;
  }
  }
 
 
  if (fTcpTrace) {
  if (fTcpTrace) {
Line 406... Line 407...
 
 
  if (irc <= 0) {
  if (irc <= 0) {
    if (irc < 0) {
    if (irc < 0) {
      RlogMsg lmsg(LogFile(),'E');
      RlogMsg lmsg(LogFile(),'E');
      RerrMsg emsg("Rw11VirtTermTcp::ListenPollHandler",
      RerrMsg emsg("Rw11VirtTermTcp::ListenPollHandler",
                   string("read() for port ") + fChannelId +
                   string("read() for port ") + fChannelId + " failed: ",
                   string(" failed: ", errno));
                   errno);
      lmsg << emsg;
      lmsg << emsg;
    }
    }
    if (fTcpTrace) {
    if (fTcpTrace) {
      RlogMsg lmsg(LogFile(),'I');
      RlogMsg lmsg(LogFile(),'I');
      lmsg << "TermTcp: close on " << fChannelId << " for " << Unit().Name();
      lmsg << "TermTcp: close on " << fChannelId << " for " << Unit().Name();

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.