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/
>>> org/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

Reply via email to