<div><span class="gmail_quote">On 7/11/05, <b class="gmail_sendername">Justin Johnson</b> <<a href="mailto:justinjohnson@gmail.com">justinjohnson@gmail.com</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div><span class="q"><span class="gmail_quote">On 7/11/05, <b class="gmail_sendername">Jp Calderone</b> <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:exarkun@divmod.com" target="_blank">exarkun@divmod.com
</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">On Mon, 11 Jul 2005 12:16:35 -0500, Justin Johnson <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:justinjohnson@gmail.com" target="_blank">
justinjohnson@gmail.com </a>> wrote:<br>>On 7/11/05, Jp Calderone <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:exarkun@divmod.com" target="_blank">exarkun@divmod.com</a>> wrote:<br>>>
<br>> [snip]<br><br>That mostly sounds correct, except the last bit. What makes it a transport is that it implements /all/ of ITransport. Moreover, ProcessProtocols expect their transport to be an IProcessTransport, which adds several methods on top of ITransport. Everything in each of those interfaces needs to be implemented.
</blockquote>
<div> </div></span>
<div>Ahh... I missed those interfaces because I was starting with win32eventreactor.Process, which doesn't implement either ITransport or IProcessTransport (either with an implements() or by defining all of those methods).
</div>
<div> </div></div></blockquote>
<div> </div>
<div>Hmm.. I somehow missed the obvious implements call. But I still don't see all methods defined (e.g. getPeer, getHost, writeSequence).</div><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>
<div>After some more thought about this I think I will have to define new xxxOps methods for stdout and stderr (and maybe stdin as well). These ops' ovDone methods will call the methods on the transport (Process) appropriate for ProcessProtocols.
</div><span class="q"><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">For reference, <<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://twistedmatrix.com/documents/current/api/twisted.internet.interfaces.ITransport.html" target="_blank">
http://twistedmatrix.com/documents/current/api/twisted.internet.interfaces.ITransport.html</a>> and <<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://twistedmatrix.com/documents/current/api/twisted.internet.interfaces.IProcessTransport.html" target="_blank">
http://twistedmatrix.com/documents/current/api/twisted.internet.interfaces.IProcessTransport.html </a>>.<br><br>Jp<br><br>_______________________________________________<br>Twisted-Python mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Twisted-Python@twistedmatrix.com" target="_blank">
Twisted-Python@twistedmatrix.com</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python" target="_blank">http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
</a><br></blockquote></span></div><br></blockquote></div><br>