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
