Merge "Use TCP_NODELAY on outgoing connections"
This commit is contained in:
commit
c3dadd94e0
@ -30,6 +30,7 @@ from swift import gettext_ as _
|
|||||||
from urllib import quote
|
from urllib import quote
|
||||||
import logging
|
import logging
|
||||||
import time
|
import time
|
||||||
|
import socket
|
||||||
|
|
||||||
from eventlet.green.httplib import CONTINUE, HTTPConnection, HTTPMessage, \
|
from eventlet.green.httplib import CONTINUE, HTTPConnection, HTTPMessage, \
|
||||||
HTTPResponse, HTTPSConnection, _UNKNOWN
|
HTTPResponse, HTTPSConnection, _UNKNOWN
|
||||||
@ -105,7 +106,9 @@ class BufferedHTTPConnection(HTTPConnection):
|
|||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
self._connected_time = time.time()
|
self._connected_time = time.time()
|
||||||
return HTTPConnection.connect(self)
|
ret = HTTPConnection.connect(self)
|
||||||
|
self.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
|
||||||
|
return ret
|
||||||
|
|
||||||
def putrequest(self, method, url, skip_host=0, skip_accept_encoding=0):
|
def putrequest(self, method, url, skip_host=0, skip_accept_encoding=0):
|
||||||
self._method = method
|
self._method = method
|
||||||
|
@ -15,6 +15,8 @@
|
|||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
import socket
|
||||||
|
|
||||||
from eventlet import spawn, Timeout, listen
|
from eventlet import spawn, Timeout, listen
|
||||||
|
|
||||||
from swift.common import bufferedhttp
|
from swift.common import bufferedhttp
|
||||||
@ -60,6 +62,8 @@ class TestBufferedHTTP(unittest.TestCase):
|
|||||||
'x-header': 'value'},
|
'x-header': 'value'},
|
||||||
query_string='omg&no=%7f')
|
query_string='omg&no=%7f')
|
||||||
conn.send('REQUEST\r\n')
|
conn.send('REQUEST\r\n')
|
||||||
|
self.assertTrue(conn.sock.getsockopt(socket.IPPROTO_TCP,
|
||||||
|
socket.TCP_NODELAY))
|
||||||
resp = conn.getresponse()
|
resp = conn.getresponse()
|
||||||
body = resp.read()
|
body = resp.read()
|
||||||
conn.close()
|
conn.close()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user