How can i access underlying socket from twisted.web.client.Agent? I need to enable TCP_NODELAY on this socket.
Access socket options for twisted.web.client.Agent
906 Views Asked by Michael At
1
There are 1 best solutions below
Related Questions in PYTHON
- new thread blocks main thread
- Extracting viewCount & SubscriberCount from YouTube API V3 for a given channel, where channelID does not equal userID
- Display images on Django Template Site
- Difference between list() and dict() with generators
- How can I serialize a numpy array while preserving matrix dimensions?
- Protractor did not run properly when using browser.wait, msg: "Wait timed out after XXXms"
- Why is my program adding int as string (4+7 = 47)?
- store numpy array in mysql
- how to omit the less frequent words from a dictionary in python?
- Update a text file with ( new words+ \n ) after the words is appended into a list
- python how to write list of lists to file
- Removing URL features from tokens in NLTK
- Optimizing for Social Leaderboards
- Python : Get size of string in bytes
- What is the code of the sorted function?
Related Questions in TWISTED
- Ordering tests using trial twisted
- how install jsonrpc on macos for python27
- Installing Twisted through pip broken on one server
- Efficiently search a string serialized python dict stored in Redis
- Twistd executable on Python3
- Run a twisted trial test within a program
- Calling Python code from Twisted
- How do I run twisted from the console?
- Set a timeout for an UDP socket with Twisted (python)
- Scrapy `ReactorNotRestartable`: one class to run two (or more) spiders
- Control/defer sending out 201 status
- Running Scrapy on PyPy
- Twisted Proxy using TCP reactor works at which level of OSI layer?
- txAerospike - Aerospike and Twisted
- Exiting Python Program after closing connection in Twisted
Related Questions in TWISTED.WEB
- Twisted Proxy using TCP reactor works at which level of OSI layer?
- Twisted reverse proxy SSL backend
- Twisted.web File directory listing issues
- How can I render html file in twisted resource in python?
- Which way to go with twisted and web-programming?
- sessions with twisted.web
- Store an instance of a connection - twisted.web
- Pure python reverse proxy that handles chunking
- does anyone have any examples of using jqGrid with twisted / python
- Is there a way to do reverse url resolve in twisted?
- Does twisted, cyclone or tornado do SMP multicore out of the box
- Twisted Web Client HTTP Version
- Can Twisted Run SFTP FTPS and HTTPS Server At Once
- How is twisted's Deferred implemented?
- Twisted simple HTTP proxy contd
Related Questions in TWISTED.CLIENT
- Cannot match regex with re.search on Twisted Framework ircbot
- Error trying to get uids of emails in large folders using IMAP and Twisted
- Twisted - I need to periodically connect/disconnect a client connection
- Best way to send many DNS queries with twisted framework (over UDP)?
- How can I run a simple twisted client on top of asyncio?
- How to send http request with basic http authentication via twisted framework
- AutobahnPython w/Twisted: ssl.optionsForClientTLS on websocket.WampWebSocketClientFactory
- Access socket options for twisted.web.client.Agent
- Exception in Twisted when calling getPage
- Starting and stopping Twisted connections
- twisted Get response data at client
- map a request response in python twisted
- Twisted : How to know which client has closed the connection
- using TWISTED python sometimes i am getting unwanted hex data
- Twisted Application getting name
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Unfortunately Agent doesn't make it as easy as it would be if you were working directly with a Protocol instance, but it's not impossible either.
The key lies here, in the class definition of Agent:
In order to get access to the transport you could override connectionMade on HTTP11ClientProtocol, as well as the Agent.
So you'd end up with something like:
Now use MyAgent in lieu of Agent and you'll get TCP nodelay on the client.
** Note **, this isn't the only way to do this, but one way you can do so and continue to use Agent.request. Alternately, write your own agent which crafts the request and connects it to a Client and wires up your request, along with TCP nodelay, in a deferred chain.
** Note 2 ** In this case, it's fine to assume 'transport' has the setTcpNoDelay() method because it's a pretty reasonable assumption you'll be using TCP as the transport for an HTTP request. This may not be a smart idea all over twisted, though.