How do you handle the HTTP persistence layer?
Do you have any plans to support HTTP/2?
Do you expect Jetty to handle the HTTP conversation entirely on from the
active connection?
(parsing the request headers + body contents, generating the response
headers + body contents)?
Is it possible to have a non-HTTP request after the active HTTP request on
the same connection?


Joakim Erdfelt / [email protected]

On Tue, Mar 20, 2018 at 12:05 PM, Anthony Dahanne <[email protected]
> wrote:

> right.
> the connection can be ssl, non secured terracotta comm. layer or http
>
> On Tue, Mar 20, 2018 at 8:47 AM, Joakim Erdfelt <[email protected]>
> wrote:
>
>> Taking a look at your code ...
>>
>> It appears that you have existing connections, presumable established
>> earlier, outside of Jetty, in a Terracotta specific component (that I
>> cannot locate).
>>
>> Occasionally(?) a request on that established connection arrives which
>> isn't handled by Terracotta, but is actually a HTTP (style? actual?)
>> request that needs to be handed off to Jetty to process.
>>
>> Is that right?
>>
>>
>> Joakim Erdfelt / [email protected]
>>
>> On Mon, Mar 19, 2018 at 7:13 PM, Anthony Dahanne <
>> [email protected]> wrote:
>>
>>> Hey there,
>>> Thanks for your answer !
>>>
>>> Welcome to the new world of connectors and web protocols! :-)
>>>>
>>>
>>> Yay ! :-)
>>>
>>>
>>>> *Is this the same Terracotta that used to be open source?*
>>>>
>>> Yes it is ! And it still is actually !
>>> 4.x line :  http://svn.terracotta.org/svn/tc/dso/trunk/
>>> 10.x line : https://github.com/Terracotta-OSS/terracotta-core , not
>>> using jetty anymore though :-(
>>>
>>> *If so, where is the code that implements your old TerracottaConnector?*
>>>>
>>>
>>> There it is : http://svn.terracotta.org/svn/
>>> tc/dso/trunk/deploy/src/main/java/com/tc/server/TerracottaConnector.java
>>>
>>> I'll try your advice out, and keep you updated !
>>> Thanks for your explanations !
>>> Anthony
>>>
>>>
>>>
>>> On Mon, Mar 19, 2018 at 5:27 PM, Joakim Erdfelt <[email protected]>
>>> wrote:
>>>
>>>> Welcome to the new world of connectors and web protocols! :-)
>>>>
>>>> *Is this the same Terracotta that used to be open source?*
>>>> *If so, where is the code that implements your old TerracottaConnector?*
>>>>
>>>> Is that a java.net.Socket I see?
>>>> It's important to point out that there are no traditional BIO
>>>> facilities or support in Jetty 9.
>>>> Jetty is 100% async/java.nio now.
>>>>
>>>> You'll first need to implement a java.nio endpoint suitable for Jetty.
>>>> Ultimately it will be an implementation of
>>>> org.eclipse.jetty.io.EndPoint.
>>>> But seeing the Socket in your example code snippet, you'll probably
>>>> want some basic networking support.
>>>> So start with implementing a TerracottaEndPoint that extend
>>>> org.eclipse.jetty.io.ChannelEndPoint
>>>>
>>>> This TerracottaEndPoint will be important regardless of the next steps.
>>>>
>>>> Basic implementation ...
>>>>
>>>> Then try simply extending ServerConnector and providing an
>>>> implementation of
>>>> protected ChannelEndPoint newEndPoint(SocketChannel channel,
>>>> ManagedSelector selectSet, SelectionKey key) throws IOException
>>>> that returns your TerracottaEndPoint instance.
>>>>
>>>> Alternate approach ...
>>>>
>>>> You might want a network that isn't quite a network connector.
>>>> If so, you might want to use the code examples found in our UnixSocket
>>>> support layer.
>>>> Note: you'll still need the above mentioned TerracottaEndPoint.
>>>>
>>>> unix socket example code: https://github.com/eclipse/jet
>>>> ty.project/tree/jetty-9.4.x/jetty-unixsocket/src/main/java/o
>>>> rg/eclipse/jetty/unixsocket
>>>>
>>>>
>>>>
>>>>
>>>> Joakim Erdfelt / [email protected]
>>>>
>>>> On Mon, Mar 19, 2018 at 3:46 PM, Anthony Dahanne <
>>>> [email protected]> wrote:
>>>>
>>>>> Hello Jetty experts,
>>>>> First, I apologize if it's not the appropriate mailing list for this
>>>>> question (I was hesitating with jetty-dev) , but there is my question :
>>>>> what's the preferred path to migrate a custom connector from 8.1 to 9.4 ?
>>>>> Here's what I used to do : a cusotm connector that could understand
>>>>> HTTP, TC protocol, and SSL
>>>>>
>>>>> TCServerImpl.this.terracottaConnector = new 
>>>>> TerracottaConnector(TCServerImpl.this.configurationSetupManager.getSecurity()
>>>>>  != null);
>>>>> TCServerImpl.this.terracottaConnector.setName(CONNECTOR_NAME_TERRACOTTA);
>>>>>
>>>>>
>>>>> ----
>>>>>
>>>>> public class TerracottaConnector extends SocketConnector {
>>>>>   private final boolean secure;
>>>>>   private boolean shutdown = false;
>>>>>
>>>>>   public TerracottaConnector(boolean secure) {
>>>>>     this.secure = secure;
>>>>>   }
>>>>>
>>>>>   public void handleSocketFromDSO(Socket s, byte[] data) throws 
>>>>> IOException {
>>>>>     ConnectorEndPoint connection = new ConnectorEndPoint(new 
>>>>> SocketWrapper(s, data));
>>>>>     connection.dispatch();
>>>>>   }
>>>>>
>>>>> etc.
>>>>> }
>>>>> ----
>>>>>
>>>>> I've read the new architecture document : https://www.eclipse.org/jett
>>>>> y/documentation/9.4.x/architecture.html but I'm still hitting my head
>>>>> on what to use, and if there were examples that are doing what I used to 
>>>>> do
>>>>> (even if it's pretty clear from the architecture document that this use
>>>>> case is definitely supported)
>>>>>
>>>>> I've tried extending the ServerConnector instead, but doing so , I
>>>>> could not find the right API to handle a raw socket and raw bytes 
>>>>> (Handlers
>>>>> are are about HTTPRequest, so I guess I should stick to the
>>>>> ServerConnector...)
>>>>> Anyway, if you have examples with custom ServerConnector, I'd be very
>>>>> thankful if you could point them out !
>>>>> Thanks in advance !
>>>>> Anthony
>>>>>
>>>>> _______________________________________________
>>>>> jetty-users mailing list
>>>>> [email protected]
>>>>> To change your delivery options, retrieve your password, or
>>>>> unsubscribe from this list, visit
>>>>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> jetty-users mailing list
>>>> [email protected]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>>>
>>>
>>>
>>> _______________________________________________
>>> jetty-users mailing list
>>> [email protected]
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>>
>>
>>
>> _______________________________________________
>> jetty-users mailing list
>> [email protected]
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>
>
>
> _______________________________________________
> jetty-users mailing list
> [email protected]
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to