⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svchandler.tcc

📁 vxworks操作系统的源代码 供研究学习
💻 TCC
字号:
/* SvcHandler - does stuff *//* Copyright (c) 1999 Wind River Systems, Inc. *//*modification history--------------------01d,13jul01,dbs  fix up includes01c,19aug99,aim  changed assert to vxdcomAssert01b,07jun99,aim  changed peer to stream01a,12May99,aim  created*/#include "SvcHandler.h"#include "private/comMisc.h"template <class PEER_STREAM> voidSvcHandler<PEER_STREAM>::destroy ()    {    TRACE_CALL;    if (m_closing == 0)	{	// Will call the destructor, which automatically calls	// <shutdown>.  Note that if we are *not* allocated dynamically	// then the destructor will call <shutdown> automatically when	// it gets run during cleanup.	delete this;	}    }template <class PEER_STREAM>SvcHandler<PEER_STREAM>::SvcHandler (Reactor *reactor)  : m_closing (0),    m_stream ()    {    TRACE_CALL;    reactorSet (reactor);    }template <class PEER_STREAM> intSvcHandler<PEER_STREAM>::open (void*)    {    TRACE_CALL;    COM_ASSERT (reactorGet ());    return reactorGet()->handlerAdd (this, EventHandler::READ_MASK);    }template <class PEER_STREAM> intSvcHandler<PEER_STREAM>::close (u_long)    {    TRACE_CALL;    return handleClose ();    }template <class PEER_STREAM> voidSvcHandler<PEER_STREAM>::shutdown ()    {    TRACE_CALL;    COM_ASSERT (reactorGet ());    reactorGet()->handlerRemove (this,				 EventHandler::ALL_EVENTS_MASK |				 EventHandler::DONT_CALL);    m_stream.close();    }template <class PEER_STREAM> REACTOR_HANDLESvcHandler<PEER_STREAM>::handleGet () const    {    TRACE_CALL;    return m_stream.handleGet ();    }template <class PEER_STREAM> REACTOR_HANDLESvcHandler<PEER_STREAM>::handleSet (REACTOR_HANDLE h)    {    TRACE_CALL;    return m_stream.handleSet (h);    }template <class PEER_STREAM>SvcHandler<PEER_STREAM>::~SvcHandler ()    {    TRACE_CALL;    if (m_closing == 0)	{	m_closing = 1;	shutdown ();	}    }template <class PEER_STREAM> intSvcHandler<PEER_STREAM>::handleClose (REACTOR_HANDLE, REACTOR_EVENT_MASK)    {    TRACE_CALL;    destroy ();    return 0;    }template <class PEER_STREAM> PEER_STREAM&SvcHandler<PEER_STREAM>::stream ()    {    TRACE_CALL;    return m_stream;    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -