README
上传用户:sy_wanhua
上传日期:2013-07-25
资源大小:3048k
文件大小:3k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

C/C++

  1. For information about licensing, please see the LICENSE file in this
  2. directory, or http://www.vovida.org/license.html .
  3. This directory contains utility classes/functions and execption classes.
  4. AgentApi, AgentApiMibVars, AgentRegister: 
  5. These classes implement the interface between Managed Objects
  6. and SNMP Daemon/Network Management.
  7. CWBuffer, CopyOnWriteData, Data, DataBuffer, DataStore,  NewData, StringData: 
  8.         Implement string abstraction and copy on write data.
  9. CommandLine: 
  10. Provides a common mechanism for applications to handle command
  11. line arguments.
  12. Common: 
  13.         Contains a list of server types.
  14. Connection, TcpServerSocket, TcpClientSocket: 
  15.         Abstracts TCP/IP interface.
  16. EventControl: 
  17. Implements the starting, stopping and shutting down of a thread.
  18. CryptoRandom: 
  19. Generates cryptographically random number based on /dev/random.
  20. Daemon: 
  21. Makes an application a Daemon process.
  22. Event, Fifo, FifoBase, Writer: 
  23. Related to FIFO queues and  Async events.
  24. FileDataStore: 
  25. Adding, removing entities and hashing functions to distribute
  26. files under different directories.
  27. HostMatch: 
  28. Implement IP and hostname comparision function.
  29. Lock, LockHelper, VMutex, VCondition, VRWLock, VSemaphore,
  30. ReadLockHelper, WriteLockHelper:
  31. These classes provide thread synchronization.
  32. NetworkAddress, UdpStack: 
  33. Abstracts UDP interface.
  34. SignalAction, SignalSet: 
  35. Helps in signal handling.
  36. Sptr: 
  37. It is a smart pointer, object allocated from heap gets garbage
  38. collected when no longer used.
  39. ThreadIf, VThreadEvent, VThread, VThreadGate, VThreadPool: 
  40. Provide thread abstraction.
  41. TimeFunc: 
  42. Prints elapsed time.
  43. Timer, TimerContainer, TimerEntry, VTime: 
  44. Provide timer functions.
  45. VEnvVar: 
  46. Obtains specific environment variables.
  47. VFilter: 
  48. A simple filtering class, used in conjunction with infilter.pl
  49. and outfilter.pl perl scripts.
  50. VFileSystem: 
  51. Abstracts filesystem operations.
  52. VFunctor: 
  53. Encapsulates a void function pointer and a argument to a void pointer.
  54. VNamedPipeFC: 
  55. Abstracts unix pipes.
  56. cpLog: 
  57. Used for debug information logging.
  58. md5: 
  59. API's for MD5 algorithms
  60. parse3tuple: 
  61. Used to read entries from a configuration file.
  62. support: 
  63. Contains string handling functions
  64. KNOWN PROBLEMS.
  65. substrings -- the substring semantics are somewhat surprising, since
  66. they are designed to speed up access.  thus, it is possible to try to
  67. access memory after it is freed accidentally via the substrings unless
  68. they are used carefully.
  69. There are no known problems in the other classes.
  70. TODO
  71. Sptr:
  72.  
  73. the smart pointer could be fixed/improved in several ways.  these
  74. comments are from Evgeny:
  75. 1.  always allocate memory for the counter and mutex -- inefficient --
  76. more efficient to allocate only once for all of the data (e.g. the way
  77. the string STL class does it).  however, this doesn't seem to be
  78. possible transparently, as the Sptr class does it.  maybe via a mixin
  79. class or something?
  80. 2.  alternately, allocate a single struct for both count and mutex,
  81. and write a simple, fast allocator for the mutex and the refcounts
  82. that's faster and less fraggy than the general purpose malloc/new
  83. that's being used now.