On Thursday, 17 August 2017 03:03:41 BST Kevin Conway wrote: > > There is no datagram endpoints API as yet, though (see #4471), only > > stream endpoints. > > I'm not sure I understand the distinction. Endpoints supports UDP which is > a datagram based transport. From a Protocol perspective, you only care > about which bytes are received. If you have a framing concept I'm your data > format then it should be handled there.
streams like TCP will reliably deliver what you send. but UDP makes no gareentee > > What am I not understanding about this particular use case? > > On Wed, Aug 16, 2017, 16:25 Jean-Paul Calderone <exar...@twistedmatrix.com> > > wrote: > > On Wed, Aug 16, 2017 at 9:59 AM, Tristan Seligmann < > > > > mithra...@mithrandi.net> wrote: > >> On Wed, 16 Aug 2017 at 15:28 Kevin Conway <kevinjacobcon...@gmail.com> > >> > >> wrote: > >>> Maybe I misunderstand the issue, but I believe the Endpoints API solves > >>> for this. > >>> https://twistedmatrix.com/documents/16.4.1/core/howto/endpoints.html > >>> > >>> This abstracts the transport and allows you to focus on only > >>> interpreting the bytes transmitted over that transport by defining a > >>> Protocol and a Factory that plug into strports. This should allow you to > >>> have the business logic defined in only one location while > >>> listening/requesting over different transports. > >> > >> There is no datagram endpoints API as yet, though (see #4471), only > >> stream endpoints. > > > > Also, when there are datagram endpoints, they won't be compatible with > > stream endpoints. Endpoints don't abstract the transport, they abstract > > *creating* the transport. > > > > Twisted provides a uniform abstraction over stream-based transports like > > TCP and gives you *ITransport* to implement an *IProtocol* against. It > > also provides a uniform abstraction over datagram-based transports like > > UDP > > and gives you *IUDPTransport* (oops; should have been *IDatagramTransport* > > and some other things about it should probably be changed too) to > > implement a *DatagramProtocol* (oops; no interface for this one, just > > subclass: see, this should change) against. But it doesn't provide a > > uniform abstraction over both stream-based and datagram-based transports. > > > > Implementing such a thing may be possible and even a good idea but no one > > has yet done it for Twisted (as far as I know). > > > > Jean-Paul > > > > _______________________________________________ > > Twisted-Python mailing list > > Twisted-Python@twistedmatrix.com > > https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python