Networking with Twisted -- OSCON 2003

  1. Networking with Twisted -- OSCON 2003
  2. Part 1 - Introduction
  3. Networking paradigm for the enterprise
  4. Applied Bistromathics 101
  5. The event driven waiter
  6. Threads (a caricature)
  7. Event-driven programming
  8. Writing an event-driven program
  9. When do we want threads?
  10. The Framework of Your Internet
  11. Project Stats
  12. Part 2 - Basic Networking With Twisted
  13. Internet!
  14. Basic Definitions - Reactor
  15. Events in Twisted
  16. Basic Definitions - Transport
  17. Basic Definitions - Protocol
  18. All Together Now -- 1000 Words
  19. All Together Now -- Image
  20. How To Implement A Protocol
  21. How To Not Implement A Protocol
  22. How To Really Implement A Protocol
  23. Factories
  24. A Server Factory
  25. Connecting A Factory To A TCP Port
  26. Transport Independence
  27. Server Factory Lifecycle 1
  28. Server Factory Lifecycle 2
  29. Server Factory Lifecycle 3
  30. Client Side Factories
  31. Client Side Factories 2
  32. Connection API
  33. Client Factory Lifecycle 1
  34. Client Factory Lifecycle 2
  35. Client Factory Lifecycle 3
  36. Buffering
  37. Part 3 - Implementing Protocols
  38. Presence Server
  39. Our protocol
  40. Example transcript
  41. State machines
  42. Server implementation
  43. Code 2
  44. Code 3
  45. Code 4
  46. Code 5
  47. Discussion
  48. Better implementation
  49. Better implementation 2
  50. Further enhancements
  51. Client implementation
  52. Client implementation
  53. Client implementation
  54. Client implementation
  55. Example of using client
  56. Part 4 - Testing
  57. Why testing?
  58. twisted.trial: Testing with Twisted
  59. Writing tests
  60. Testing example
  61. Testing example
  62. Running tests
  63. Running tests example
  64. Part 5 - Deferreds
  65. Waiting for results
  66. Waiting for results -- callbacks
  67. Problems with callbacks
  68. Deferreds
  69. Deferred example
  70. Shorter Deferred example
  71. Deferred argument passing
  72. Triggering a Deferred
  73. Callback chain
  74. Failures
  75. Error handling
  76. Callback chain
  77. Example of error handling
  78. Example of error handling 2
  79. Deferreds of Deferreds
  80. Common idioms - blocking call
  81. Blocking call example
  82. Common idioms - published methods
  83. Published method example
  84. Common idioms - Deferred per ID
  85. Example - DocmaServer
  86. Common problems
  87. Part 6 - Processes and Threads
  88. Running processes
  89. spawnProcess example
  90. spawnProcess example 2
  91. Threads
  92. Calling Twisted from threads
  93. Running code in threads
  94. Running code in threads 2
  95. Thread utility functions
  96. Thread example code
  97. Part 7 - RDBMS
  98. Talking to RDBMS with adbapi
  99. Connection pools
  100. Simple queries
  101. Simple operations
  102. Complicated interactions
  103. Part 8 - More about networking
  104. DNS Lookups
  105. Using Twisted's native DNS
  106. Factory Resources
  107. Factory Resources 2
  108. Producers and Consumers
  109. Producers
  110. Consumers
  111. Sample Pull Producer
  112. Sample Push Producer
  113. Sample Push Producer continued
  114. Scheduling
  115. Example - twisted.web sessions
  116. Choosing a Reactor - Why?
  117. Choosing a Reactor
  118. Example GTK Program
  119. Summary: Events in Twisted
  120. Summary: Events in Twisted 2
  121. Part 9 - Applications
  122. Logging
  123. Logging Errors
  124. Applications
  125. Services
  126. Services 2
  127. twistd - Application Runner
  128. twistd Features
  129. Making a runnable application
  130. Running twistd
  131. TAPs: Pre-configured deployment
  132. Example of using TAPs
  133. Creating mktap plugins
  134. Example -- Bannerfish
  135. plugins.tml
  136. tapmaker.py
  137. Deploying mktap applications
  138. tap2deb, rpm2deb
  139. Part 10: Further Bits and Pieces
  140. Other twisted.internet Features
  141. Protocol implementations (twisted.protocols)
  142. Cred (twisted.cred)
  143. Component Architecture
  144. Network Server Frameworks
  145. Woven
  146. Microdom
  147. Perspective Broker
  148. Lore
  149. Learning more