[ https://issues.apache.org/jira/browse/THRIFT-2709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14151080#comment-14151080 ]
Roger Meier commented on THRIFT-2709: ------------------------------------- [~simonsouth], could you please add hrift/c_glib/thrift_enum_types.h here? I have this issue: {noformat} src/thrift/c_glib/processor/thrift_dispatch_processor.c:22:45: fatal error: thrift/c_glib/thrift_enum_types.h: No such file or directory compilation terminated. {noformat} > c_glib: Support server implementation > ------------------------------------- > > Key: THRIFT-2709 > URL: https://issues.apache.org/jira/browse/THRIFT-2709 > Project: Thrift > Issue Type: Improvement > Components: C glib - Compiler, C glib - Library > Affects Versions: 0.9.1 > Environment: Fedora 20 64-bit on x86_64 > Reporter: Simon South > Priority: Minor > Labels: c_glib, server > Attachments: thrift-2709-1-c_glib-library-add-server-support.patch, > thrift-2709-2-c_glib-compiler-generate-server-classes.patch > > > The attached patches modify the C (GLib) compiler and library to add support > for implementing servers. > The changes to the compiler include > * Adding server-generation methods > ** {{generate_service_helpers}}, which generates a pair of {{ThriftStruct}} > subclasses for each service method, used to deserialize the method's > arguments and serialize its result > ** {{generate_service_handler}}, which generates an abstract base class for a > service's handler implementations > ** {{generate_service_processor}}, which generates a service's processor class > * Adding helper methods {{underscores_to_initial_caps}} and > {{property_type_name}} which, respectively, convert an underscore-delimited > name back to camel case and return the GLib type needed to store a Thrift > type as a GObject property > Changes to the library include > * Changing the signature of {{ThriftProcessor.process}} so it returns I/O > errors to its caller > * Adding the {{ThriftDispatchProcessor}} class, ported from the C++ > implementation, which subclasses {{ThriftProcessor}} and parses an incoming > method-call message for dispatch by subclasses > * Adding a {{peek}} method to {{ThriftTransport}} and corresponding > implementations in {{ThriftSocket}}, {{ThriftBufferedTransport}} and > {{ThriftFramedTransport}} > * Add {{ThriftBufferedTransportFactory}} and > {{ThriftFramedTransportFactory}}, used by the server to wrap a raw > {{ThriftTransport}} in the corresponding subtype > * Changing the signature of {{ThriftServer.server}} so it returns an error > status to its caller, following [GLib's > conventions|https://developer.gnome.org/glib/2.26/glib-Error-Reporting.html#glib-Error-Reporting.description] > * Changing {{ThriftSimpleServer.serve}} so it > ** Detects and reports errors encountered during processing > ** Uses transports returned by the transport factories instead of the (raw) > transport passed in by the caller > ** Uses {{ThriftTransport.peek}} to detect the end of input > ** Returns an error status to its caller -- This message was sent by Atlassian JIRA (v6.3.4#6332)