Changeset 203

Show
Ignore:
Timestamp:
05/19/06 06:31:44 (16 years ago)
Author:
pieterpalmers
Message:

- another backup commit, going to switch the streamhandlermanager to a rx/tx invariant one.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/libfreebob-2.0/src/libstreaming/FreebobPosixThread.cpp

    r199 r203  
    3333namespace FreebobStreaming 
    3434{ 
     35 
     36IMPL_DEBUG_MODULE( FreebobPosixThread, FreebobPosixThread, DEBUG_LEVEL_NORMAL ); 
    3537 
    3638void* FreebobPosixThread::ThreadHandler(void* arg) 
  • branches/libfreebob-2.0/src/libstreaming/FreebobPosixThread.h

    r199 r203  
    2727#ifndef __FreebobPosixThread__ 
    2828#define __FreebobPosixThread__ 
     29 
     30#include "../debugmodule/debugmodule.h" 
    2931 
    3032#include "FreebobThread.h" 
     
    7577 
    7678        pthread_t GetThreadID(); 
     79 
     80        protected: 
     81 
     82    DECLARE_DEBUG_MODULE; 
     83 
    7784}; 
    7885 
  • branches/libfreebob-2.0/src/libstreaming/IsoHandlerManager.cpp

    r200 r203  
    3333{ 
    3434 
    35 IsoHandlerManager::IsoHandlerManager() 
     35IMPL_DEBUG_MODULE( IsoHandlerManager, IsoHandlerManager, DEBUG_LEVEL_NORMAL ); 
     36 
     37IsoHandlerManager::IsoHandlerManager() : 
     38   m_poll_timeout(-1) 
    3639{ 
    3740 
     
    4144IsoHandlerManager::~IsoHandlerManager() 
    4245{ 
     46 
     47} 
     48 
     49bool IsoHandlerManager::Init() 
     50{ 
     51        // prepare the fd map 
     52 
     53        return true; 
     54} 
     55 
     56 
     57bool IsoHandlerManager::Execute() 
     58{ 
     59        int err; 
     60        int i=0; 
     61 
     62        err = poll (m_poll_fds, m_poll_nfds, m_poll_timeout); 
     63         
     64        if (err == -1) { 
     65                if (errno == EINTR) { 
     66                        return true; 
     67                } 
     68                debugFatal("poll error: %s\n", strerror (errno)); 
     69                return false; 
     70        } 
     71 
     72        for (i = 0; i < m_poll_nfds; i++) { 
     73                if (m_poll_fds[i].revents & POLLERR) { 
     74                        debugWarning("error on fd for %d\n",i); 
     75                } 
     76 
     77                if (m_poll_fds[i].revents & POLLHUP) { 
     78                        debugWarning("hangup on fd for %d\n",i); 
     79                } 
     80                 
     81                if(m_poll_fds[i].revents & (POLLIN)) { 
     82 
     83                } 
     84        } 
     85        return true; 
    4386 
    4487} 
  • branches/libfreebob-2.0/src/libstreaming/IsoHandlerManager.h

    r200 r203  
    3030 
    3131#include "../debugmodule/debugmodule.h" 
     32#include "FreebobThread.h" 
     33 
     34#include <sys/poll.h> 
     35#include <errno.h> 
    3236 
    3337#include <vector> 
     
    5357 
    5458 
    55 class IsoHandlerManager 
     59class IsoHandlerManager : public FreebobRunnableInterface 
    5660{ 
    57         private: 
    58                 IsoXmitHandlerVector m_IsoXmitHandlers; 
    59                 IsoRecvHandlerVector m_IsoRecvHandlers; 
     61        friend class StreamRunner; 
    6062 
    6163    public: 
     
    6769                int unregisterHandler(IsoHandler *); 
    6870 
     71                void setPollTimeout(int t) {m_poll_timeout=t;}; 
     72                int getPollTimeout() {return m_poll_timeout;}; 
     73 
     74        protected: 
     75                // FreebobRunnableInterface interface 
     76                bool Execute(); // note that this is called in we while(running) loop 
     77                bool Init(); 
     78 
     79                IsoXmitHandlerVector m_IsoXmitHandlers; 
     80                IsoRecvHandlerVector m_IsoRecvHandlers; 
     81 
     82                int m_poll_timeout; 
     83                int                  m_poll_nfds; 
     84                struct pollfd        *m_poll_fds; 
     85 
     86            DECLARE_DEBUG_MODULE; 
    6987 
    7088}; 
  • branches/libfreebob-2.0/src/libstreaming/IsoStream.h

    r201 r203  
    5656        {}; 
    5757 
    58                 void setVerboseLevel(int l) { setDebugLevel( l ); }; 
     58                virtual void setVerboseLevel(int l) { setDebugLevel( l ); }; 
    5959 
    6060                int getChannel() {return m_Channel;}; 
     
    6262                enum EStreamType getType() { return m_type;}; 
    6363 
    64                 int initialize() {return 0;}; 
     64                virtual int initialize() {return 0;}; 
    6565 
    66                 int  
     66                virtual int  
    6767                        putPacket(unsigned char *data, unsigned int length,  
    6868                              unsigned char channel, unsigned char tag, unsigned char sy,  
    6969                                  unsigned int cycle, unsigned int dropped); 
    70                 int  
     70                virtual int  
    7171                        getPacket(unsigned char *data, unsigned int *length, 
    7272                              unsigned char *tag, unsigned char *sy, 
     
    103103                              unsigned char *tag, unsigned char *sy, 
    104104                              int cycle, unsigned int dropped, unsigned int max_length); 
    105         int getBufferFillPackets(); 
    106         int getBufferFillPayload(); 
     105               int getBufferFillPackets(); 
     106               int getBufferFillPayload(); 
    107107 
    108108        protected: 
  • branches/libfreebob-2.0/src/libstreaming/Makefile.am

    r201 r203  
    3535        IsoStreamManager.h \ 
    3636        ringbuffer.c ringbuffer.h \ 
    37         Receiver.cpp Receiver.h \ 
    38         PacketBuffer.cpp PacketBuffer.h 
     37        PacketBuffer.cpp PacketBuffer.h \ 
     38        PortManager.cpp \ 
     39        PortManager.h \ 
     40        Port.cpp \ 
     41        Port.h \ 
     42        StreamProcessor.cpp \ 
     43        StreamProcessor.h \ 
     44        StreamProcessorManager.cpp \ 
     45        StreamProcessorManager.h \ 
     46        StreamRunner.cpp StreamRunner.h 
    3947 
    4048INCLUDES = $(LIBRAW1394_CFLAGS) $(LIBIEC61883_CFLAGS) -I$(top_srcdir)/src \