Lines Matching full:as
52 This paper details the motivations and design choices we made in Thrift, as
53 well as some of the more interesting implementation details. It is not
54 intended to be taken as research, but rather it is an exposition on what we did
67 As Facebook's traffic and network structure have scaled, the resource
91 be as simple as possible for the developer, who can typically define all
175 for arithmetic purposes, but in practice were much more often used as keys or
234 The generated objects inherit from an exception base class as appropriate
246 server stubs that implement the interface. Services are defined as follows:
278 are implemented as Thrift structs. All three constructs are identical in both
289 used on top of the TCP/IP stack with streaming sockets as the base layer of
317 used to accept or create primitive transport objects. Its interface is as
330 programming language. New transport mechanisms can be easily defined as needed
348 OOP techniques, such as composition. Some simple utilities include the
360 it does not matter whether data is encoded as XML, human-readable ASCII, or a
361 dense binary format as long as the data supports a fixed set of operations
421 For example, \texttt{writeStructEnd()} is not strictly necessary, as the end of
435 as iteration is performed, the corresponding read may begin in parallel,
442 encoded as a sequence of fields, with each field having a type specifier and a
474 system must be able to support reading of old data from log files, as well as
485 Identifiers are specified as follows:
508 lists. In fact, argument lists are not only represented as structs on the
521 Structs can be thought of as a dictionary where the identifiers are keys, and
581 it and processes as normal.
583 dangerous case, as the old server is unlikely to have suitable default
608 perhaps the most simple of the constructs. The interface is as follows:
627 as follows:
655 call, and takes as a parameter an instance of the service interface, as
664 The \texttt{TServer} object generally works as follows.
704 than typical web technologies, as we were designing our XML-based REST web
709 generate XML Schema Definition files for our service, as well as a framework
717 We made a conscious decision to make our generated structs as transparent as
736 Method calls in RPC are implemented by sending the method name as a string. One
798 third-party libraries as much as possible. Because\\
802 use in Thrift. As \texttt{boost::threadpool} evolves and especially if it is
809 classes, such as STL collections, in favor of ACE's homebrewed implementations. In
826 As mentioned above, we were hesitant to introduce any additional dependencies
835 the Java \texttt{Object} class. This is also sometimes referred to as a barrier. We
911 allows applications to schedule tasks for execution as free worker threads
987 Thrift is used as the underlying protocol and transport layer for the Facebook Search service.
993 used as a redo log for providing real-time search index updates. Thrift has allowed the
1000 a variety of purposes, including inline and offline processing, stats aggregation and as a redo log.