##// END OF EJS Templates
wireproto: drop support for reader interface from streamres (API)...
Gregory Szorc -
r35723:8cdb671d default
parent child Browse files
Show More
@@ -175,10 +175,7 b' def call(repo, req, cmd):'
175 req.respond(HTTP_OK, HGTYPE, body=rsp)
175 req.respond(HTTP_OK, HGTYPE, body=rsp)
176 return []
176 return []
177 elif isinstance(rsp, wireproto.streamres):
177 elif isinstance(rsp, wireproto.streamres):
178 if rsp.reader:
178 gen = rsp.gen
179 gen = iter(lambda: rsp.reader.read(32768), '')
180 else:
181 gen = rsp.gen
182
179
183 # This code for compression should not be streamres specific. It
180 # This code for compression should not be streamres specific. It
184 # is here because we only compress streamres at the moment.
181 # is here because we only compress streamres at the moment.
@@ -76,13 +76,7 b' class sshserver(wireproto.abstractserver'
76
76
77 def sendstream(self, source):
77 def sendstream(self, source):
78 write = self.fout.write
78 write = self.fout.write
79
79 for chunk in source.gen:
80 if source.reader:
81 gen = iter(lambda: source.reader.read(4096), '')
82 else:
83 gen = source.gen
84
85 for chunk in gen:
86 write(chunk)
80 write(chunk)
87 self.fout.flush()
81 self.fout.flush()
88
82
@@ -520,7 +520,7 b' class streamres(object):'
520
520
521 The call was successful and the result is a stream.
521 The call was successful and the result is a stream.
522
522
523 Accepts either a generator or an object with a ``read(size)`` method.
523 Accepts a generator containing chunks of data to be sent to the client.
524
524
525 ``v1compressible`` indicates whether this data can be compressed to
525 ``v1compressible`` indicates whether this data can be compressed to
526 "version 1" clients (technically: HTTP peers using
526 "version 1" clients (technically: HTTP peers using
@@ -528,9 +528,8 b' class streamres(object):'
528 new commands because new clients should support a more modern compression
528 new commands because new clients should support a more modern compression
529 mechanism.
529 mechanism.
530 """
530 """
531 def __init__(self, gen=None, reader=None, v1compressible=False):
531 def __init__(self, gen=None, v1compressible=False):
532 self.gen = gen
532 self.gen = gen
533 self.reader = reader
534 self.v1compressible = v1compressible
533 self.v1compressible = v1compressible
535
534
536 class pushres(object):
535 class pushres(object):
@@ -802,7 +801,8 b' def changegroup(repo, proto, roots):'
802 outgoing = discovery.outgoing(repo, missingroots=nodes,
801 outgoing = discovery.outgoing(repo, missingroots=nodes,
803 missingheads=repo.heads())
802 missingheads=repo.heads())
804 cg = changegroupmod.makechangegroup(repo, outgoing, '01', 'serve')
803 cg = changegroupmod.makechangegroup(repo, outgoing, '01', 'serve')
805 return streamres(reader=cg, v1compressible=True)
804 gen = iter(lambda: cg.read(32768), '')
805 return streamres(gen=gen, v1compressible=True)
806
806
807 @wireprotocommand('changegroupsubset', 'bases heads')
807 @wireprotocommand('changegroupsubset', 'bases heads')
808 def changegroupsubset(repo, proto, bases, heads):
808 def changegroupsubset(repo, proto, bases, heads):
@@ -811,7 +811,8 b' def changegroupsubset(repo, proto, bases'
811 outgoing = discovery.outgoing(repo, missingroots=bases,
811 outgoing = discovery.outgoing(repo, missingroots=bases,
812 missingheads=heads)
812 missingheads=heads)
813 cg = changegroupmod.makechangegroup(repo, outgoing, '01', 'serve')
813 cg = changegroupmod.makechangegroup(repo, outgoing, '01', 'serve')
814 return streamres(reader=cg, v1compressible=True)
814 gen = iter(lambda: cg.read(32768), '')
815 return streamres(gen=gen, v1compressible=True)
815
816
816 @wireprotocommand('debugwireargs', 'one two *')
817 @wireprotocommand('debugwireargs', 'one two *')
817 def debugwireargs(repo, proto, one, two, others):
818 def debugwireargs(repo, proto, one, two, others):
General Comments 0
You need to be logged in to leave comments. Login now