blob: 054094893d397048879322b10e47f88e17fe4bfe [file] [log] [blame] [view]
Mark Slee254ce202007-05-16 02:21:06 +00001Thrift Perl Software Library
2
Bryan Duxburydef30a62009-04-08 00:19:37 +00003License
4=======
5
6Licensed to the Apache Software Foundation (ASF) under one
7or more contributor license agreements. See the NOTICE file
8distributed with this work for additional information
9regarding copyright ownership. The ASF licenses this file
10to you under the Apache License, Version 2.0 (the
11"License"); you may not use this file except in compliance
12with the License. You may obtain a copy of the License at
13
14 http://www.apache.org/licenses/LICENSE-2.0
15
16Unless required by applicable law or agreed to in writing,
17software distributed under the License is distributed on an
18"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19KIND, either express or implied. See the License for the
20specific language governing permissions and limitations
21under the License.
Mark Slee254ce202007-05-16 02:21:06 +000022
James E. King, III96be8c82017-01-27 11:45:57 -050023Summary
24=======
25
26Apache Thrift is a software framework for scalable cross-language services development.
27It combines a software stack with a code generation engine to build services that work
28efficiently and seamlessly between many programming languages. A language-neutral IDL
29is used to generate functioning client libraries and server-side handling frameworks.
30
31For More Information
32====================
33
34See the [Apache Thrift Web Site](http://thrift.apache.org/) for more information.
35
Mark Slee254ce202007-05-16 02:21:06 +000036Using Thrift with Perl
James E. King, III96be8c82017-01-27 11:45:57 -050037======================
Mark Slee254ce202007-05-16 02:21:06 +000038
39Thrift requires Perl >= 5.6.0
40
Jim Kingf5f1b352015-06-24 13:47:24 -040041Unexpected exceptions in a service handler are converted to
42TApplicationException with type INTERNAL ERROR and the string
43of the exception is delivered as the message.
Mark Slee254ce202007-05-16 02:21:06 +000044
Jim Kingf5f1b352015-06-24 13:47:24 -040045On the client side, exceptions are thrown with die, so be sure
46to wrap eval{} statments around any code that contains exceptions.
Mark Slee254ce202007-05-16 02:21:06 +000047
Jim Kingf5f1b352015-06-24 13:47:24 -040048Please see tutoral and test dirs for examples.
Mark Slee254ce202007-05-16 02:21:06 +000049
James E. King, III9019b282017-02-08 20:53:09 -050050The Perl ForkingServer ignores SIGCHLD allowing the forks to be
51reaped by the operating system naturally when they exit. This means
52one cannot use a custom SIGCHLD handler in the consuming perl
53implementation that calls serve(). It is acceptable to use
54a custom SIGCHLD handler within a thrift handler implementation
55as the ForkingServer resets the forked child process to use
56default signal handling.
57
Mark Slee254ce202007-05-16 02:21:06 +000058Dependencies
59============
60
Jim Kingf5f1b352015-06-24 13:47:24 -040061Bit::Vector - comes with modern perl installations.
Mark Slee82664432007-09-19 06:49:30 +000062Class::Accessor
Jim Kingf5f1b352015-06-24 13:47:24 -040063IO::Socket::INET - comes with modern perl installations.
64IO::Socket::SSL - required if using SSL/TLS.
65NET::SSLeay
66Crypt::SSLeay - for make cross