X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fstream-provider.h;h=d6bf0a295738d377bf6d6f6f30e4de97e65fe2a0;hb=a23aab1fc2f66b63ba9b7e4b9c9a8f6d58c367d0;hp=6beaab75e9e3bcd9c9fdf39af8a9fcabb0fb189b;hpb=58fda1dab104041fc693032475ec4662c1a52849;p=openvswitch diff --git a/lib/stream-provider.h b/lib/stream-provider.h index 6beaab75..d6bf0a29 100644 --- a/lib/stream-provider.h +++ b/lib/stream-provider.h @@ -109,6 +109,18 @@ struct stream_class { * accepted for transmission, it should return -EAGAIN immediately. */ ssize_t (*send)(struct stream *stream, const void *buffer, size_t n); + /* Allows 'stream' to perform maintenance activities, such as flushing + * output buffers. + * + * May be null if 'stream' doesn't have anything to do here. */ + void (*run)(struct stream *stream); + + /* Arranges for the poll loop to wake up when 'stream' needs to perform + * maintenance activities. + * + * May be null if 'stream' doesn't have anything to do here. */ + void (*run_wait)(struct stream *stream); + /* Arranges for the poll loop to wake up when 'stream' is ready to take an * action of the given 'type'. */ void (*wait)(struct stream *stream, enum stream_wait_type type); @@ -169,5 +181,9 @@ extern struct stream_class tcp_stream_class; extern struct pstream_class ptcp_pstream_class; extern struct stream_class unix_stream_class; extern struct pstream_class punix_pstream_class; +#ifdef HAVE_OPENSSL +extern struct stream_class ssl_stream_class; +extern struct pstream_class pssl_pstream_class; +#endif #endif /* stream-provider.h */