と のルールを誤解しているようdataReceived
ですinlineCallbacks
。
より具体的には、これを行うと:
def dataReceived(self, data):
self.transport.write('ok')
私のプロトコルは実際にデータを送信しますが、これを行うと:
@defer.inlineCallbacks
def dataReceived(self, data):
a = yield True # this stands for some adbapi call actually
self.transport.write('ok')
何も受信せず、接続が閉じます。ここでは defer.returnValue も役に立ちません。動作はまったく同じです。
親切に説明してください。