mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
update vendor/ dir to latest w/o heroku, moby
had to lock a lot of things in place
This commit is contained in:
23
vendor/github.com/apache/thrift/lib/delphi/src/Thrift.Utils.pas
generated
vendored
23
vendor/github.com/apache/thrift/lib/delphi/src/Thrift.Utils.pas
generated
vendored
@@ -69,8 +69,9 @@ type
|
||||
end;
|
||||
|
||||
|
||||
function InterlockedCompareExchange64( var Target : Int64; Exchange, Comparand : Int64) : Int64; stdcall;
|
||||
function InterlockedExchangeAdd64( var Addend : Int64; Value : Int64) : Int64; stdcall;
|
||||
{$IFDEF Win64}
|
||||
function InterlockedExchangeAdd64( var Addend : Int64; Value : Int64) : Int64;
|
||||
{$ENDIF}
|
||||
|
||||
|
||||
implementation
|
||||
@@ -223,14 +224,19 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
// natively available since stone age
|
||||
function InterlockedCompareExchange64;
|
||||
external KERNEL32 name 'InterlockedCompareExchange64';
|
||||
{$IFDEF Win64}
|
||||
|
||||
function InterlockedCompareExchange64( var Target : Int64; Exchange, Comparand : Int64) : Int64; inline;
|
||||
begin
|
||||
{$IFDEF OLD_UNIT_NAMES}
|
||||
result := Windows.InterlockedCompareExchange64( Target, Exchange, Comparand);
|
||||
{$ELSE}
|
||||
result := WinApi.Windows.InterlockedCompareExchange64( Target, Exchange, Comparand);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
|
||||
// natively available >= Vista
|
||||
// implemented this way since there are still some people running Windows XP :-(
|
||||
function InterlockedExchangeAdd64( var Addend : Int64; Value : Int64) : Int64; stdcall;
|
||||
function InterlockedExchangeAdd64( var Addend : Int64; Value : Int64) : Int64;
|
||||
var old : Int64;
|
||||
begin
|
||||
repeat
|
||||
@@ -239,6 +245,7 @@ begin
|
||||
result := Old;
|
||||
end;
|
||||
|
||||
{$ENDIF}
|
||||
|
||||
|
||||
end.
|
||||
|
||||
20
vendor/github.com/apache/thrift/lib/delphi/test/TestClient.pas
generated
vendored
20
vendor/github.com/apache/thrift/lib/delphi/test/TestClient.pas
generated
vendored
@@ -39,6 +39,7 @@ uses
|
||||
Thrift.Transport,
|
||||
Thrift.Stream,
|
||||
Thrift.Test,
|
||||
Thrift.Utils,
|
||||
Thrift.Collections,
|
||||
Thrift.Console;
|
||||
|
||||
@@ -88,6 +89,9 @@ type
|
||||
{$IFDEF StressTest}
|
||||
procedure StressTest(const client : TThriftTest.Iface);
|
||||
{$ENDIF}
|
||||
{$IFDEF Win64}
|
||||
procedure UseInterlockedExchangeAdd64;
|
||||
{$ENDIF}
|
||||
protected
|
||||
procedure Execute; override;
|
||||
public
|
||||
@@ -1014,6 +1018,18 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
{$IFDEF Win64}
|
||||
procedure TClientThread.UseInterlockedExchangeAdd64;
|
||||
var a,b : Int64;
|
||||
begin
|
||||
a := 1;
|
||||
b := 2;
|
||||
Thrift.Utils.InterlockedExchangeAdd64( a,b);
|
||||
Expect( a = 3, 'InterlockedExchangeAdd64');
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
|
||||
procedure TClientThread.JSONProtocolReadWriteTest;
|
||||
// Tests only then read/write procedures of the JSON protocol
|
||||
// All tests succeed, if we can read what we wrote before
|
||||
@@ -1249,7 +1265,11 @@ var
|
||||
begin
|
||||
// perform all tests
|
||||
try
|
||||
{$IFDEF Win64}
|
||||
UseInterlockedExchangeAdd64;
|
||||
{$ENDIF}
|
||||
JSONProtocolReadWriteTest;
|
||||
|
||||
for i := 0 to FNumIteration - 1 do
|
||||
begin
|
||||
ClientTest;
|
||||
|
||||
1
vendor/github.com/apache/thrift/lib/erl/Makefile.am
generated
vendored
1
vendor/github.com/apache/thrift/lib/erl/Makefile.am
generated
vendored
@@ -19,6 +19,7 @@
|
||||
|
||||
THRIFT = ../../compiler/cpp/thrift
|
||||
THRIFT_FILES = $(wildcard test/*.thrift) \
|
||||
../../test/ConstantsDemo.thrift \
|
||||
../../test/NameConflictTest.thrift \
|
||||
../../test/ThriftTest.thrift
|
||||
|
||||
|
||||
2
vendor/github.com/apache/thrift/lib/erl/src/thrift_transport.erl
generated
vendored
2
vendor/github.com/apache/thrift/lib/erl/src/thrift_transport.erl
generated
vendored
@@ -103,11 +103,9 @@ read_exact(Transport = #t_transport{module = Module}, Len)
|
||||
when is_integer(Len), Len >= 0 ->
|
||||
case lists:keyfind(read_exact, 1, Module:module_info(exports)) of
|
||||
{read_exact, 2} ->
|
||||
io:fwrite("HAS EXACT"),
|
||||
{NewState, Result} = Module:read_exact(Transport#t_transport.state, Len),
|
||||
{Transport#t_transport{state = NewState}, Result};
|
||||
_ ->
|
||||
io:fwrite("~p NO EXACT", [Module]),
|
||||
read(Transport, Len)
|
||||
end.
|
||||
|
||||
|
||||
54
vendor/github.com/apache/thrift/lib/erl/test/test_const.erl
generated
vendored
Normal file
54
vendor/github.com/apache/thrift/lib/erl/test/test_const.erl
generated
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
%%
|
||||
%% Licensed to the Apache Software Foundation (ASF) under one
|
||||
%% or more contributor license agreements. See the NOTICE file
|
||||
%% distributed with this work for additional information
|
||||
%% regarding copyright ownership. The ASF licenses this file
|
||||
%% to you under the Apache License, Version 2.0 (the
|
||||
%% "License"); you may not use this file except in compliance
|
||||
%% with the License. You may obtain a copy of the License at
|
||||
%%
|
||||
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||
%%
|
||||
%% Unless required by applicable law or agreed to in writing,
|
||||
%% software distributed under the License is distributed on an
|
||||
%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
%% KIND, either express or implied. See the License for the
|
||||
%% specific language governing permissions and limitations
|
||||
%% under the License.
|
||||
%%
|
||||
|
||||
-module(test_const).
|
||||
|
||||
-ifdef(TEST).
|
||||
-include_lib("eunit/include/eunit.hrl").
|
||||
|
||||
-include("gen-erl/constants_demo_types.hrl").
|
||||
|
||||
namespace_test() ->
|
||||
%% Verify that records produced by ConstantsDemo.thrift have the right namespace.
|
||||
io:format(user, "in namespace_test()\n", []),
|
||||
{struct, _} = constants_demo_types:struct_info('consts_thing'),
|
||||
{struct, _} = constants_demo_types:struct_info('consts_Blah'),
|
||||
ok.
|
||||
|
||||
const_map_test() ->
|
||||
?assertEqual(233, constants_demo_constants:gen_map(35532)),
|
||||
?assertError(function_clause, constants_demo_constants:gen_map(0)),
|
||||
|
||||
?assertEqual(853, constants_demo_constants:gen_map(43523, default)),
|
||||
?assertEqual(default, constants_demo_constants:gen_map(10110, default)),
|
||||
|
||||
?assertEqual(98325, constants_demo_constants:gen_map2("lkjsdf")),
|
||||
?assertError(function_clause, constants_demo_constants:gen_map2("nonexist")),
|
||||
|
||||
?assertEqual(233, constants_demo_constants:gen_map2("hello", 321)),
|
||||
?assertEqual(321, constants_demo_constants:gen_map2("goodbye", 321)).
|
||||
|
||||
const_list_test() ->
|
||||
?assertEqual(23598352, constants_demo_constants:gen_list(2)),
|
||||
?assertError(function_clause, constants_demo_constants:gen_list(0)),
|
||||
|
||||
?assertEqual(3253523, constants_demo_constants:gen_list(3, default)),
|
||||
?assertEqual(default, constants_demo_constants:gen_list(10, default)).
|
||||
|
||||
-endif. %% TEST
|
||||
6
vendor/github.com/apache/thrift/lib/go/Makefile.am
generated
vendored
6
vendor/github.com/apache/thrift/lib/go/Makefile.am
generated
vendored
@@ -31,10 +31,12 @@ install:
|
||||
@echo '##############################################################'
|
||||
|
||||
check-local:
|
||||
$(GO) test -race ./thrift
|
||||
GOPATH=`pwd` $(GO) get golang.org/x/net/context
|
||||
GOPATH=`pwd` $(GO) test -race ./thrift
|
||||
|
||||
all-local:
|
||||
$(GO) build ./thrift
|
||||
GOPATH=`pwd` $(GO) get golang.org/x/net/context
|
||||
GOPATH=`pwd` $(GO) build ./thrift
|
||||
|
||||
EXTRA_DIST = \
|
||||
thrift \
|
||||
|
||||
7
vendor/github.com/apache/thrift/lib/go/test/Makefile.am
generated
vendored
7
vendor/github.com/apache/thrift/lib/go/test/Makefile.am
generated
vendored
@@ -17,8 +17,12 @@
|
||||
# under the License.
|
||||
#
|
||||
|
||||
if GOVERSION_LT_17
|
||||
COMPILER_EXTRAFLAG=",legacy_context"
|
||||
endif
|
||||
|
||||
THRIFT = $(top_builddir)/compiler/cpp/thrift
|
||||
THRIFTARGS = -out gopath/src/ --gen go:thrift_import=thrift
|
||||
THRIFTARGS = -out gopath/src/ --gen go:thrift_import=thrift$(COMPILER_EXTRAFLAG)
|
||||
THRIFTTEST = $(top_srcdir)/test/ThriftTest.thrift
|
||||
|
||||
# Thrift for GO has problems with complex map keys: THRIFT-2063
|
||||
@@ -57,6 +61,7 @@ gopath: $(THRIFT) $(THRIFTTEST) \
|
||||
$(THRIFT) $(THRIFTARGS),read_write_private DontExportRWTest.thrift
|
||||
$(THRIFT) $(THRIFTARGS),ignore_initialisms IgnoreInitialismsTest.thrift
|
||||
GOPATH=`pwd`/gopath $(GO) get github.com/golang/mock/gomock
|
||||
GOPATH=`pwd`/gopath $(GO) get golang.org/x/net/context
|
||||
ln -nfs ../../../thrift gopath/src/thrift
|
||||
ln -nfs ../../tests gopath/src/tests
|
||||
cp -r ./dontexportrwtest gopath/src
|
||||
|
||||
12
vendor/github.com/apache/thrift/lib/go/test/tests/client_error_test.go
generated
vendored
12
vendor/github.com/apache/thrift/lib/go/test/tests/client_error_test.go
generated
vendored
@@ -412,7 +412,7 @@ func TestClientReportTTransportErrors(t *testing.T) {
|
||||
return
|
||||
}
|
||||
client := errortest.NewErrorTestClientProtocol(transport, protocol, protocol)
|
||||
_, retErr := client.TestStruct(thing)
|
||||
_, retErr := client.TestStruct(defaultCtx, thing)
|
||||
mockCtrl.Finish()
|
||||
err2, ok := retErr.(thrift.TTransportException)
|
||||
if !ok {
|
||||
@@ -444,7 +444,7 @@ func TestClientReportTProtocolErrors(t *testing.T) {
|
||||
return
|
||||
}
|
||||
client := errortest.NewErrorTestClientProtocol(transport, protocol, protocol)
|
||||
_, retErr := client.TestStruct(thing)
|
||||
_, retErr := client.TestStruct(defaultCtx, thing)
|
||||
mockCtrl.Finish()
|
||||
err2, ok := retErr.(thrift.TProtocolException)
|
||||
if !ok {
|
||||
@@ -565,7 +565,7 @@ func TestClientCallException(t *testing.T) {
|
||||
willComplete := !prepareClientCallException(protocol, i, err)
|
||||
|
||||
client := errortest.NewErrorTestClientProtocol(transport, protocol, protocol)
|
||||
_, retErr := client.TestString("test")
|
||||
_, retErr := client.TestString(defaultCtx, "test")
|
||||
mockCtrl.Finish()
|
||||
|
||||
if !willComplete {
|
||||
@@ -608,7 +608,7 @@ func TestClientSeqIdMismatch(t *testing.T) {
|
||||
)
|
||||
|
||||
client := errortest.NewErrorTestClientProtocol(transport, protocol, protocol)
|
||||
_, err := client.TestString("test")
|
||||
_, err := client.TestString(defaultCtx, "test")
|
||||
mockCtrl.Finish()
|
||||
appErr, ok := err.(thrift.TApplicationException)
|
||||
if !ok {
|
||||
@@ -638,7 +638,7 @@ func TestClientWrongMethodName(t *testing.T) {
|
||||
)
|
||||
|
||||
client := errortest.NewErrorTestClientProtocol(transport, protocol, protocol)
|
||||
_, err := client.TestString("test")
|
||||
_, err := client.TestString(defaultCtx, "test")
|
||||
mockCtrl.Finish()
|
||||
appErr, ok := err.(thrift.TApplicationException)
|
||||
if !ok {
|
||||
@@ -668,7 +668,7 @@ func TestClientWrongMessageType(t *testing.T) {
|
||||
)
|
||||
|
||||
client := errortest.NewErrorTestClientProtocol(transport, protocol, protocol)
|
||||
_, err := client.TestString("test")
|
||||
_, err := client.TestString(defaultCtx, "test")
|
||||
mockCtrl.Finish()
|
||||
appErr, ok := err.(thrift.TApplicationException)
|
||||
if !ok {
|
||||
|
||||
47
vendor/github.com/apache/thrift/lib/go/test/tests/go17.go
generated
vendored
Normal file
47
vendor/github.com/apache/thrift/lib/go/test/tests/go17.go
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
// +build go1.7
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package tests
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
var defaultCtx = context.Background()
|
||||
|
||||
type FirstImpl struct{}
|
||||
|
||||
func (f *FirstImpl) ReturnOne(ctx context.Context) (r int64, err error) {
|
||||
return 1, nil
|
||||
}
|
||||
|
||||
type SecondImpl struct{}
|
||||
|
||||
func (s *SecondImpl) ReturnTwo(ctx context.Context) (r int64, err error) {
|
||||
return 2, nil
|
||||
}
|
||||
|
||||
type impl struct{}
|
||||
|
||||
func (i *impl) Hi(ctx context.Context, in int64, s string) (err error) { fmt.Println("Hi!"); return }
|
||||
func (i *impl) Emptyfunc(ctx context.Context) (err error) { return }
|
||||
func (i *impl) EchoInt(ctx context.Context, param int64) (r int64, err error) { return param, nil }
|
||||
19
vendor/github.com/apache/thrift/lib/go/test/tests/multiplexed_protocol_test.go
generated
vendored
19
vendor/github.com/apache/thrift/lib/go/test/tests/multiplexed_protocol_test.go
generated
vendored
@@ -36,17 +36,6 @@ func FindAvailableTCPServerPort() net.Addr {
|
||||
}
|
||||
}
|
||||
|
||||
type FirstImpl struct{}
|
||||
|
||||
func (f *FirstImpl) ReturnOne() (r int64, err error) {
|
||||
return 1, nil
|
||||
}
|
||||
|
||||
type SecondImpl struct{}
|
||||
|
||||
func (s *SecondImpl) ReturnTwo() (r int64, err error) {
|
||||
return 2, nil
|
||||
}
|
||||
|
||||
var processor = thrift.NewTMultiplexedProcessor()
|
||||
|
||||
@@ -114,7 +103,7 @@ func createLegacyClient(t *testing.T) *multiplexedprotocoltest.SecondClient {
|
||||
}
|
||||
|
||||
func TestCallFirst(t *testing.T) {
|
||||
ret, err := firstClient.ReturnOne()
|
||||
ret, err := firstClient.ReturnOne(defaultCtx)
|
||||
if err != nil {
|
||||
t.Fatal("Unable to call first server:", err)
|
||||
}
|
||||
@@ -124,7 +113,7 @@ func TestCallFirst(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestCallSecond(t *testing.T) {
|
||||
ret, err := secondClient.ReturnTwo()
|
||||
ret, err := secondClient.ReturnTwo(defaultCtx)
|
||||
if err != nil {
|
||||
t.Fatal("Unable to call second server:", err)
|
||||
}
|
||||
@@ -135,7 +124,7 @@ func TestCallSecond(t *testing.T) {
|
||||
|
||||
func TestCallLegacy(t *testing.T) {
|
||||
legacyClient := createLegacyClient(t)
|
||||
ret, err := legacyClient.ReturnTwo()
|
||||
ret, err := legacyClient.ReturnTwo(defaultCtx)
|
||||
//expect error since default processor is not registered
|
||||
if err == nil {
|
||||
t.Fatal("Expecting error")
|
||||
@@ -143,7 +132,7 @@ func TestCallLegacy(t *testing.T) {
|
||||
//register default processor and call again
|
||||
processor.RegisterDefault(multiplexedprotocoltest.NewSecondProcessor(&SecondImpl{}))
|
||||
legacyClient = createLegacyClient(t)
|
||||
ret, err = legacyClient.ReturnTwo()
|
||||
ret, err = legacyClient.ReturnTwo(defaultCtx)
|
||||
if err != nil {
|
||||
t.Fatal("Unable to call legacy server:", err)
|
||||
}
|
||||
|
||||
11
vendor/github.com/apache/thrift/lib/go/test/tests/one_way_test.go
generated
vendored
11
vendor/github.com/apache/thrift/lib/go/test/tests/one_way_test.go
generated
vendored
@@ -20,7 +20,6 @@
|
||||
package tests
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net"
|
||||
"onewaytest"
|
||||
"testing"
|
||||
@@ -37,12 +36,6 @@ func findPort() net.Addr {
|
||||
}
|
||||
}
|
||||
|
||||
type impl struct{}
|
||||
|
||||
func (i *impl) Hi(in int64, s string) (err error) { fmt.Println("Hi!"); return }
|
||||
func (i *impl) Emptyfunc() (err error) { return }
|
||||
func (i *impl) EchoInt(param int64) (r int64, err error) { return param, nil }
|
||||
|
||||
const TIMEOUT = time.Second
|
||||
|
||||
var addr net.Addr
|
||||
@@ -75,12 +68,12 @@ func TestInitOnewayClient(t *testing.T) {
|
||||
|
||||
func TestCallOnewayServer(t *testing.T) {
|
||||
//call oneway function
|
||||
err := client.Hi(1, "")
|
||||
err := client.Hi(defaultCtx, 1, "")
|
||||
if err != nil {
|
||||
t.Fatal("Unexpected error: ", err)
|
||||
}
|
||||
//There is no way to detect protocol problems with single oneway call so we call it second time
|
||||
i, err := client.EchoInt(42)
|
||||
i, err := client.EchoInt(defaultCtx, 42)
|
||||
if err != nil {
|
||||
t.Fatal("Unexpected error: ", err)
|
||||
}
|
||||
|
||||
48
vendor/github.com/apache/thrift/lib/go/test/tests/pre_go17.go
generated
vendored
Normal file
48
vendor/github.com/apache/thrift/lib/go/test/tests/pre_go17.go
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
// +build !go1.7
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package tests
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"golang.org/x/net/context"
|
||||
)
|
||||
|
||||
var defaultCtx = context.Background()
|
||||
|
||||
type FirstImpl struct{}
|
||||
|
||||
func (f *FirstImpl) ReturnOne(ctx context.Context) (r int64, err error) {
|
||||
return 1, nil
|
||||
}
|
||||
|
||||
type SecondImpl struct{}
|
||||
|
||||
func (s *SecondImpl) ReturnTwo(ctx context.Context) (r int64, err error) {
|
||||
return 2, nil
|
||||
}
|
||||
|
||||
type impl struct{}
|
||||
|
||||
func (i *impl) Hi(ctx context.Context, in int64, s string) (err error) { fmt.Println("Hi!"); return }
|
||||
func (i *impl) Emptyfunc(ctx context.Context) (err error) { return }
|
||||
func (i *impl) EchoInt(ctx context.Context, param int64) (r int64, err error) { return param, nil }
|
||||
2
vendor/github.com/apache/thrift/lib/go/test/tests/struct_args_rets_test.go
generated
vendored
2
vendor/github.com/apache/thrift/lib/go/test/tests/struct_args_rets_test.go
generated
vendored
@@ -30,7 +30,7 @@ func staticCheckStructArgsResults() {
|
||||
var iface st.AServ
|
||||
var err error
|
||||
|
||||
sa, err = iface.StructAFunc_1structA(sa)
|
||||
sa, err = iface.StructAFunc_1structA(defaultCtx, sa)
|
||||
_ = err
|
||||
_ = sa
|
||||
}
|
||||
|
||||
60
vendor/github.com/apache/thrift/lib/go/test/tests/thrifttest_driver.go
generated
vendored
60
vendor/github.com/apache/thrift/lib/go/test/tests/thrifttest_driver.go
generated
vendored
@@ -38,15 +38,15 @@ func (p *ThriftTestDriver) Start() {
|
||||
client := p.client
|
||||
t := p.t
|
||||
|
||||
if client.TestVoid() != nil {
|
||||
if client.TestVoid(defaultCtx) != nil {
|
||||
t.Fatal("TestVoid failed")
|
||||
}
|
||||
|
||||
if r, err := client.TestString("Test"); r != "Test" || err != nil {
|
||||
if r, err := client.TestString(defaultCtx, "Test"); r != "Test" || err != nil {
|
||||
t.Fatal("TestString with simple text failed")
|
||||
}
|
||||
|
||||
if r, err := client.TestString(""); r != "" || err != nil {
|
||||
if r, err := client.TestString(defaultCtx, ""); r != "" || err != nil {
|
||||
t.Fatal("TestString with empty text failed")
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ func (p *ThriftTestDriver) Start() {
|
||||
"Walon, Winaray, 吴语, isiXhosa, ייִדיש, Yorùbá, Zeêuws, 中文, " +
|
||||
"Bân-lâm-gú, 粵語"
|
||||
|
||||
if r, err := client.TestString(stringTest); r != stringTest || err != nil {
|
||||
if r, err := client.TestString(defaultCtx, stringTest); r != stringTest || err != nil {
|
||||
t.Fatal("TestString with all languages failed")
|
||||
}
|
||||
|
||||
@@ -86,44 +86,44 @@ func (p *ThriftTestDriver) Start() {
|
||||
" now-a-bunch-of-junk: !@#$%&()(&%$#{}{}<><><" +
|
||||
" char-to-test-json-parsing: ]] \"]] \\\" }}}{ [[[ "
|
||||
|
||||
if r, err := client.TestString(specialCharacters); r != specialCharacters || err != nil {
|
||||
if r, err := client.TestString(defaultCtx, specialCharacters); r != specialCharacters || err != nil {
|
||||
t.Fatal("TestString with specialCharacters failed")
|
||||
}
|
||||
|
||||
if r, err := client.TestByte(1); r != 1 || err != nil {
|
||||
if r, err := client.TestByte(defaultCtx, 1); r != 1 || err != nil {
|
||||
t.Fatal("TestByte(1) failed")
|
||||
}
|
||||
if r, err := client.TestByte(0); r != 0 || err != nil {
|
||||
if r, err := client.TestByte(defaultCtx, 0); r != 0 || err != nil {
|
||||
t.Fatal("TestByte(0) failed")
|
||||
}
|
||||
if r, err := client.TestByte(-1); r != -1 || err != nil {
|
||||
if r, err := client.TestByte(defaultCtx, -1); r != -1 || err != nil {
|
||||
t.Fatal("TestByte(-1) failed")
|
||||
}
|
||||
if r, err := client.TestByte(-127); r != -127 || err != nil {
|
||||
if r, err := client.TestByte(defaultCtx, -127); r != -127 || err != nil {
|
||||
t.Fatal("TestByte(-127) failed")
|
||||
}
|
||||
|
||||
if r, err := client.TestI32(-1); r != -1 || err != nil {
|
||||
if r, err := client.TestI32(defaultCtx, -1); r != -1 || err != nil {
|
||||
t.Fatal("TestI32(-1) failed")
|
||||
}
|
||||
if r, err := client.TestI32(1); r != 1 || err != nil {
|
||||
if r, err := client.TestI32(defaultCtx, 1); r != 1 || err != nil {
|
||||
t.Fatal("TestI32(1) failed")
|
||||
}
|
||||
|
||||
if r, err := client.TestI64(-5); r != -5 || err != nil {
|
||||
if r, err := client.TestI64(defaultCtx, -5); r != -5 || err != nil {
|
||||
t.Fatal("TestI64(-5) failed")
|
||||
}
|
||||
if r, err := client.TestI64(5); r != 5 || err != nil {
|
||||
if r, err := client.TestI64(defaultCtx, 5); r != 5 || err != nil {
|
||||
t.Fatal("TestI64(5) failed")
|
||||
}
|
||||
if r, err := client.TestI64(-34359738368); r != -34359738368 || err != nil {
|
||||
if r, err := client.TestI64(defaultCtx, -34359738368); r != -34359738368 || err != nil {
|
||||
t.Fatal("TestI64(-34359738368) failed")
|
||||
}
|
||||
|
||||
if r, err := client.TestDouble(-5.2098523); r != -5.2098523 || err != nil {
|
||||
if r, err := client.TestDouble(defaultCtx, -5.2098523); r != -5.2098523 || err != nil {
|
||||
t.Fatal("TestDouble(-5.2098523) failed")
|
||||
}
|
||||
if r, err := client.TestDouble(-7.012052175215044); r != -7.012052175215044 || err != nil {
|
||||
if r, err := client.TestDouble(defaultCtx, -7.012052175215044); r != -7.012052175215044 || err != nil {
|
||||
t.Fatal("TestDouble(-7.012052175215044) failed")
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ func (p *ThriftTestDriver) Start() {
|
||||
out.ByteThing = 1
|
||||
out.I32Thing = -3
|
||||
out.I64Thing = 1000000
|
||||
if r, err := client.TestStruct(out); !reflect.DeepEqual(r, out) || err != nil {
|
||||
if r, err := client.TestStruct(defaultCtx, out); !reflect.DeepEqual(r, out) || err != nil {
|
||||
t.Fatal("TestStruct failed")
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ func (p *ThriftTestDriver) Start() {
|
||||
out2.ByteThing = 1
|
||||
out2.StructThing = out
|
||||
out2.I32Thing = 5
|
||||
if r, err := client.TestNest(out2); !reflect.DeepEqual(r, out2) || err != nil {
|
||||
if r, err := client.TestNest(defaultCtx, out2); !reflect.DeepEqual(r, out2) || err != nil {
|
||||
t.Fatal("TestNest failed")
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ func (p *ThriftTestDriver) Start() {
|
||||
for i := int32(0); i < 5; i++ {
|
||||
mapout[i] = i - 10
|
||||
}
|
||||
if r, err := client.TestMap(mapout); !reflect.DeepEqual(r, mapout) || err != nil {
|
||||
if r, err := client.TestMap(defaultCtx, mapout); !reflect.DeepEqual(r, mapout) || err != nil {
|
||||
t.Fatal("TestMap failed")
|
||||
}
|
||||
|
||||
@@ -158,25 +158,25 @@ func (p *ThriftTestDriver) Start() {
|
||||
"a": "123", "a b": "with spaces ", "same": "same", "0": "numeric key",
|
||||
"longValue": stringTest, stringTest: "long key",
|
||||
}
|
||||
if r, err := client.TestStringMap(mapTestInput); !reflect.DeepEqual(r, mapTestInput) || err != nil {
|
||||
if r, err := client.TestStringMap(defaultCtx, mapTestInput); !reflect.DeepEqual(r, mapTestInput) || err != nil {
|
||||
t.Fatal("TestStringMap failed")
|
||||
}
|
||||
|
||||
setTestInput := []int32{1, 2, 3}
|
||||
if r, err := client.TestSet(setTestInput); !reflect.DeepEqual(r, setTestInput) || err != nil {
|
||||
if r, err := client.TestSet(defaultCtx, setTestInput); !reflect.DeepEqual(r, setTestInput) || err != nil {
|
||||
t.Fatal("TestSet failed")
|
||||
}
|
||||
|
||||
listTest := []int32{1, 2, 3}
|
||||
if r, err := client.TestList(listTest); !reflect.DeepEqual(r, listTest) || err != nil {
|
||||
if r, err := client.TestList(defaultCtx, listTest); !reflect.DeepEqual(r, listTest) || err != nil {
|
||||
t.Fatal("TestList failed")
|
||||
}
|
||||
|
||||
if r, err := client.TestEnum(thrifttest.Numberz_ONE); r != thrifttest.Numberz_ONE || err != nil {
|
||||
if r, err := client.TestEnum(defaultCtx, thrifttest.Numberz_ONE); r != thrifttest.Numberz_ONE || err != nil {
|
||||
t.Fatal("TestEnum failed")
|
||||
}
|
||||
|
||||
if r, err := client.TestTypedef(69); r != 69 || err != nil {
|
||||
if r, err := client.TestTypedef(defaultCtx, 69); r != 69 || err != nil {
|
||||
t.Fatal("TestTypedef failed")
|
||||
}
|
||||
|
||||
@@ -184,7 +184,7 @@ func (p *ThriftTestDriver) Start() {
|
||||
4: {1: 1, 2: 2, 3: 3, 4: 4},
|
||||
-4: {-4: -4, -3: -3, -2: -2, -1: -1},
|
||||
}
|
||||
if r, err := client.TestMapMap(1); !reflect.DeepEqual(r, mapMapTest) || err != nil {
|
||||
if r, err := client.TestMapMap(defaultCtx, 1); !reflect.DeepEqual(r, mapMapTest) || err != nil {
|
||||
t.Fatal("TestMapMap failed")
|
||||
}
|
||||
|
||||
@@ -212,25 +212,25 @@ func (p *ThriftTestDriver) Start() {
|
||||
1: {thrifttest.Numberz_TWO: crazy, thrifttest.Numberz_THREE: crazy},
|
||||
2: {thrifttest.Numberz_SIX: crazyEmpty},
|
||||
}
|
||||
if r, err := client.TestInsanity(crazy); !reflect.DeepEqual(r, insanity) || err != nil {
|
||||
if r, err := client.TestInsanity(defaultCtx, crazy); !reflect.DeepEqual(r, insanity) || err != nil {
|
||||
t.Fatal("TestInsanity failed")
|
||||
}
|
||||
|
||||
if err := client.TestException("TException"); err == nil {
|
||||
if err := client.TestException(defaultCtx, "TException"); err == nil {
|
||||
t.Fatal("TestException TException failed")
|
||||
}
|
||||
|
||||
if err, ok := client.TestException("Xception").(*thrifttest.Xception); ok == false || err == nil {
|
||||
if err, ok := client.TestException(defaultCtx, "Xception").(*thrifttest.Xception); ok == false || err == nil {
|
||||
t.Fatal("TestException Xception failed")
|
||||
} else if err.ErrorCode != 1001 || err.Message != "Xception" {
|
||||
t.Fatal("TestException Xception failed")
|
||||
}
|
||||
|
||||
if err := client.TestException("no Exception"); err != nil {
|
||||
if err := client.TestException(defaultCtx, "no Exception"); err != nil {
|
||||
t.Fatal("TestException no Exception failed")
|
||||
}
|
||||
|
||||
if err := client.TestOneway(0); err != nil {
|
||||
if err := client.TestOneway(defaultCtx, 0); err != nil {
|
||||
t.Fatal("TestOneway failed")
|
||||
}
|
||||
}
|
||||
|
||||
52
vendor/github.com/apache/thrift/lib/go/test/tests/thrifttest_handler.go
generated
vendored
52
vendor/github.com/apache/thrift/lib/go/test/tests/thrifttest_handler.go
generated
vendored
@@ -1,3 +1,5 @@
|
||||
// +build !go1.7
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
@@ -24,6 +26,8 @@ import (
|
||||
"thrift"
|
||||
"thrifttest"
|
||||
"time"
|
||||
|
||||
"golang.org/x/net/context"
|
||||
)
|
||||
|
||||
type SecondServiceHandler struct {
|
||||
@@ -33,11 +37,11 @@ func NewSecondServiceHandler() *SecondServiceHandler {
|
||||
return &SecondServiceHandler{}
|
||||
}
|
||||
|
||||
func (p *SecondServiceHandler) BlahBlah() (err error) {
|
||||
func (p *SecondServiceHandler) BlahBlah(ctx context.Context) (err error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *SecondServiceHandler) SecondtestString(thing string) (r string, err error) {
|
||||
func (p *SecondServiceHandler) SecondtestString(ctx context.Context, thing string) (r string, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
@@ -48,71 +52,71 @@ func NewThriftTestHandler() *ThriftTestHandler {
|
||||
return &ThriftTestHandler{}
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestVoid() (err error) {
|
||||
func (p *ThriftTestHandler) TestVoid(ctx context.Context) (err error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestString(thing string) (r string, err error) {
|
||||
func (p *ThriftTestHandler) TestString(ctx context.Context, thing string) (r string, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestBool(thing bool) (r bool, err error) {
|
||||
func (p *ThriftTestHandler) TestBool(ctx context.Context, thing bool) (r bool, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestByte(thing int8) (r int8, err error) {
|
||||
func (p *ThriftTestHandler) TestByte(ctx context.Context, thing int8) (r int8, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestI32(thing int32) (r int32, err error) {
|
||||
func (p *ThriftTestHandler) TestI32(ctx context.Context, thing int32) (r int32, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestI64(thing int64) (r int64, err error) {
|
||||
func (p *ThriftTestHandler) TestI64(ctx context.Context, thing int64) (r int64, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestDouble(thing float64) (r float64, err error) {
|
||||
func (p *ThriftTestHandler) TestDouble(ctx context.Context, thing float64) (r float64, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestBinary(thing []byte) (r []byte, err error) {
|
||||
func (p *ThriftTestHandler) TestBinary(ctx context.Context, thing []byte) (r []byte, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestStruct(thing *thrifttest.Xtruct) (r *thrifttest.Xtruct, err error) {
|
||||
func (p *ThriftTestHandler) TestStruct(ctx context.Context, thing *thrifttest.Xtruct) (r *thrifttest.Xtruct, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestNest(thing *thrifttest.Xtruct2) (r *thrifttest.Xtruct2, err error) {
|
||||
func (p *ThriftTestHandler) TestNest(ctx context.Context, thing *thrifttest.Xtruct2) (r *thrifttest.Xtruct2, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestMap(thing map[int32]int32) (r map[int32]int32, err error) {
|
||||
func (p *ThriftTestHandler) TestMap(ctx context.Context, thing map[int32]int32) (r map[int32]int32, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestStringMap(thing map[string]string) (r map[string]string, err error) {
|
||||
func (p *ThriftTestHandler) TestStringMap(ctx context.Context, thing map[string]string) (r map[string]string, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestSet(thing []int32) (r []int32, err error) {
|
||||
func (p *ThriftTestHandler) TestSet(ctx context.Context, thing []int32) (r []int32, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestList(thing []int32) (r []int32, err error) {
|
||||
func (p *ThriftTestHandler) TestList(ctx context.Context, thing []int32) (r []int32, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestEnum(thing thrifttest.Numberz) (r thrifttest.Numberz, err error) {
|
||||
func (p *ThriftTestHandler) TestEnum(ctx context.Context, thing thrifttest.Numberz) (r thrifttest.Numberz, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestTypedef(thing thrifttest.UserId) (r thrifttest.UserId, err error) {
|
||||
func (p *ThriftTestHandler) TestTypedef(ctx context.Context, thing thrifttest.UserId) (r thrifttest.UserId, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestMapMap(hello int32) (r map[int32]map[int32]int32, err error) {
|
||||
func (p *ThriftTestHandler) TestMapMap(ctx context.Context, hello int32) (r map[int32]map[int32]int32, err error) {
|
||||
r = make(map[int32]map[int32]int32)
|
||||
pos := make(map[int32]int32)
|
||||
neg := make(map[int32]int32)
|
||||
@@ -127,7 +131,7 @@ func (p *ThriftTestHandler) TestMapMap(hello int32) (r map[int32]map[int32]int32
|
||||
return r, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestInsanity(argument *thrifttest.Insanity) (r map[thrifttest.UserId]map[thrifttest.Numberz]*thrifttest.Insanity, err error) {
|
||||
func (p *ThriftTestHandler) TestInsanity(ctx context.Context, argument *thrifttest.Insanity) (r map[thrifttest.UserId]map[thrifttest.Numberz]*thrifttest.Insanity, err error) {
|
||||
hello := thrifttest.NewXtruct()
|
||||
hello.StringThing = "Hello2"
|
||||
hello.ByteThing = 2
|
||||
@@ -162,7 +166,7 @@ func (p *ThriftTestHandler) TestInsanity(argument *thrifttest.Insanity) (r map[t
|
||||
return insane, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestMulti(arg0 int8, arg1 int32, arg2 int64, arg3 map[int16]string, arg4 thrifttest.Numberz, arg5 thrifttest.UserId) (r *thrifttest.Xtruct, err error) {
|
||||
func (p *ThriftTestHandler) TestMulti(ctx context.Context, arg0 int8, arg1 int32, arg2 int64, arg3 map[int16]string, arg4 thrifttest.Numberz, arg5 thrifttest.UserId) (r *thrifttest.Xtruct, err error) {
|
||||
r = thrifttest.NewXtruct()
|
||||
r.StringThing = "Hello2"
|
||||
r.ByteThing = arg0
|
||||
@@ -171,7 +175,7 @@ func (p *ThriftTestHandler) TestMulti(arg0 int8, arg1 int32, arg2 int64, arg3 ma
|
||||
return r, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestException(arg string) (err error) {
|
||||
func (p *ThriftTestHandler) TestException(ctx context.Context, arg string) (err error) {
|
||||
if arg == "Xception" {
|
||||
x := thrifttest.NewXception()
|
||||
x.ErrorCode = 1001
|
||||
@@ -184,7 +188,7 @@ func (p *ThriftTestHandler) TestException(arg string) (err error) {
|
||||
}
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestMultiException(arg0 string, arg1 string) (r *thrifttest.Xtruct, err error) {
|
||||
func (p *ThriftTestHandler) TestMultiException(ctx context.Context, arg0 string, arg1 string) (r *thrifttest.Xtruct, err error) {
|
||||
if arg0 == "Xception" {
|
||||
x := thrifttest.NewXception()
|
||||
x.ErrorCode = 1001
|
||||
@@ -203,7 +207,7 @@ func (p *ThriftTestHandler) TestMultiException(arg0 string, arg1 string) (r *thr
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestOneway(secondsToSleep int32) (err error) {
|
||||
func (p *ThriftTestHandler) TestOneway(ctx context.Context, secondsToSleep int32) (err error) {
|
||||
time.Sleep(time.Second * time.Duration(secondsToSleep))
|
||||
return nil
|
||||
}
|
||||
|
||||
212
vendor/github.com/apache/thrift/lib/go/test/tests/thrifttest_handler_go17.go
generated
vendored
Normal file
212
vendor/github.com/apache/thrift/lib/go/test/tests/thrifttest_handler_go17.go
generated
vendored
Normal file
@@ -0,0 +1,212 @@
|
||||
// +build go1.7
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* 'License'); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package tests
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"thrift"
|
||||
"thrifttest"
|
||||
"time"
|
||||
)
|
||||
|
||||
type SecondServiceHandler struct {
|
||||
}
|
||||
|
||||
func NewSecondServiceHandler() *SecondServiceHandler {
|
||||
return &SecondServiceHandler{}
|
||||
}
|
||||
|
||||
func (p *SecondServiceHandler) BlahBlah(ctx context.Context) (err error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *SecondServiceHandler) SecondtestString(ctx context.Context, thing string) (r string, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
type ThriftTestHandler struct {
|
||||
}
|
||||
|
||||
func NewThriftTestHandler() *ThriftTestHandler {
|
||||
return &ThriftTestHandler{}
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestVoid(ctx context.Context) (err error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestString(ctx context.Context, thing string) (r string, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestBool(ctx context.Context, thing bool) (r bool, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestByte(ctx context.Context, thing int8) (r int8, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestI32(ctx context.Context, thing int32) (r int32, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestI64(ctx context.Context, thing int64) (r int64, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestDouble(ctx context.Context, thing float64) (r float64, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestBinary(ctx context.Context, thing []byte) (r []byte, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestStruct(ctx context.Context, thing *thrifttest.Xtruct) (r *thrifttest.Xtruct, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestNest(ctx context.Context, thing *thrifttest.Xtruct2) (r *thrifttest.Xtruct2, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestMap(ctx context.Context, thing map[int32]int32) (r map[int32]int32, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestStringMap(ctx context.Context, thing map[string]string) (r map[string]string, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestSet(ctx context.Context, thing []int32) (r []int32, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestList(ctx context.Context, thing []int32) (r []int32, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestEnum(ctx context.Context, thing thrifttest.Numberz) (r thrifttest.Numberz, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestTypedef(ctx context.Context, thing thrifttest.UserId) (r thrifttest.UserId, err error) {
|
||||
return thing, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestMapMap(ctx context.Context, hello int32) (r map[int32]map[int32]int32, err error) {
|
||||
r = make(map[int32]map[int32]int32)
|
||||
pos := make(map[int32]int32)
|
||||
neg := make(map[int32]int32)
|
||||
|
||||
for i := int32(1); i < 5; i++ {
|
||||
pos[i] = i
|
||||
neg[-i] = -i
|
||||
}
|
||||
r[4] = pos
|
||||
r[-4] = neg
|
||||
|
||||
return r, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestInsanity(ctx context.Context, argument *thrifttest.Insanity) (r map[thrifttest.UserId]map[thrifttest.Numberz]*thrifttest.Insanity, err error) {
|
||||
hello := thrifttest.NewXtruct()
|
||||
hello.StringThing = "Hello2"
|
||||
hello.ByteThing = 2
|
||||
hello.I32Thing = 2
|
||||
hello.I64Thing = 2
|
||||
|
||||
goodbye := thrifttest.NewXtruct()
|
||||
goodbye.StringThing = "Goodbye4"
|
||||
goodbye.ByteThing = 4
|
||||
goodbye.I32Thing = 4
|
||||
goodbye.I64Thing = 4
|
||||
|
||||
crazy := thrifttest.NewInsanity()
|
||||
crazy.UserMap = make(map[thrifttest.Numberz]thrifttest.UserId)
|
||||
crazy.UserMap[thrifttest.Numberz_EIGHT] = 8
|
||||
crazy.UserMap[thrifttest.Numberz_FIVE] = 5
|
||||
crazy.Xtructs = []*thrifttest.Xtruct{goodbye, hello}
|
||||
|
||||
first_map := make(map[thrifttest.Numberz]*thrifttest.Insanity)
|
||||
second_map := make(map[thrifttest.Numberz]*thrifttest.Insanity)
|
||||
|
||||
first_map[thrifttest.Numberz_TWO] = crazy
|
||||
first_map[thrifttest.Numberz_THREE] = crazy
|
||||
|
||||
looney := thrifttest.NewInsanity()
|
||||
second_map[thrifttest.Numberz_SIX] = looney
|
||||
|
||||
var insane = make(map[thrifttest.UserId]map[thrifttest.Numberz]*thrifttest.Insanity)
|
||||
insane[1] = first_map
|
||||
insane[2] = second_map
|
||||
|
||||
return insane, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestMulti(ctx context.Context, arg0 int8, arg1 int32, arg2 int64, arg3 map[int16]string, arg4 thrifttest.Numberz, arg5 thrifttest.UserId) (r *thrifttest.Xtruct, err error) {
|
||||
r = thrifttest.NewXtruct()
|
||||
r.StringThing = "Hello2"
|
||||
r.ByteThing = arg0
|
||||
r.I32Thing = arg1
|
||||
r.I64Thing = arg2
|
||||
return r, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestException(ctx context.Context, arg string) (err error) {
|
||||
if arg == "Xception" {
|
||||
x := thrifttest.NewXception()
|
||||
x.ErrorCode = 1001
|
||||
x.Message = arg
|
||||
return x
|
||||
} else if arg == "TException" {
|
||||
return thrift.TException(errors.New(arg))
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestMultiException(ctx context.Context, arg0 string, arg1 string) (r *thrifttest.Xtruct, err error) {
|
||||
if arg0 == "Xception" {
|
||||
x := thrifttest.NewXception()
|
||||
x.ErrorCode = 1001
|
||||
x.Message = "This is an Xception"
|
||||
return nil, x
|
||||
} else if arg0 == "Xception2" {
|
||||
x2 := thrifttest.NewXception2()
|
||||
x2.ErrorCode = 2002
|
||||
x2.StructThing = thrifttest.NewXtruct()
|
||||
x2.StructThing.StringThing = "This is an Xception2"
|
||||
return nil, x2
|
||||
}
|
||||
|
||||
res := thrifttest.NewXtruct()
|
||||
res.StringThing = arg1
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (p *ThriftTestHandler) TestOneway(ctx context.Context, secondsToSleep int32) (err error) {
|
||||
time.Sleep(time.Second * time.Duration(secondsToSleep))
|
||||
return nil
|
||||
}
|
||||
32
vendor/github.com/apache/thrift/lib/go/thrift/common_test_go17.go
generated
vendored
Normal file
32
vendor/github.com/apache/thrift/lib/go/thrift/common_test_go17.go
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
// +build go1.7
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package thrift
|
||||
|
||||
import "context"
|
||||
|
||||
type mockProcessor struct {
|
||||
ProcessFunc func(in, out TProtocol) (bool, TException)
|
||||
}
|
||||
|
||||
func (m *mockProcessor) Process(ctx context.Context, in, out TProtocol) (bool, TException) {
|
||||
return m.ProcessFunc(in, out)
|
||||
}
|
||||
32
vendor/github.com/apache/thrift/lib/go/thrift/common_test_pre_go17.go
generated
vendored
Normal file
32
vendor/github.com/apache/thrift/lib/go/thrift/common_test_pre_go17.go
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
// +build !go1.7
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package thrift
|
||||
|
||||
import "golang.org/x/net/context"
|
||||
|
||||
type mockProcessor struct {
|
||||
ProcessFunc func(in, out TProtocol) (bool, TException)
|
||||
}
|
||||
|
||||
func (m *mockProcessor) Process(ctx context.Context, in, out TProtocol) (bool, TException) {
|
||||
return m.ProcessFunc(in, out)
|
||||
}
|
||||
26
vendor/github.com/apache/thrift/lib/go/thrift/go17.go
generated
vendored
Normal file
26
vendor/github.com/apache/thrift/lib/go/thrift/go17.go
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
// +build go1.7
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package thrift
|
||||
|
||||
import "context"
|
||||
|
||||
var defaultCtx = context.Background()
|
||||
25
vendor/github.com/apache/thrift/lib/go/thrift/http_transport.go
generated
vendored
25
vendor/github.com/apache/thrift/lib/go/thrift/http_transport.go
generated
vendored
@@ -21,36 +21,11 @@ package thrift
|
||||
|
||||
import (
|
||||
"compress/gzip"
|
||||
"context"
|
||||
"io"
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// NewThriftHandlerFunc is a function that create a ready to use Apache Thrift Handler function
|
||||
func NewThriftHandlerFunc(processor TProcessor,
|
||||
inPfactory, outPfactory TProtocolFactory) func(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
return gz(func(w http.ResponseWriter, r *http.Request) {
|
||||
w.Header().Add("Content-Type", "application/x-thrift")
|
||||
|
||||
transport := NewStreamTransport(r.Body, w)
|
||||
processor.Process(inPfactory.GetProtocol(transport), outPfactory.GetProtocol(transport))
|
||||
})
|
||||
}
|
||||
|
||||
// NewThriftHandlerFunc2 is same as NewThriftHandlerFunc but requires a Context as its first param.
|
||||
func NewThriftHandlerFunc2(ctx context.Context, processor TProcessor2,
|
||||
inPfactory, outPfactory TProtocolFactory) func(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
return gz(func(w http.ResponseWriter, r *http.Request) {
|
||||
w.Header().Add("Content-Type", "application/x-thrift")
|
||||
|
||||
transport := NewStreamTransport(r.Body, w)
|
||||
processor.Process(ctx, inPfactory.GetProtocol(transport), outPfactory.GetProtocol(transport))
|
||||
})
|
||||
}
|
||||
|
||||
// gz transparently compresses the HTTP response if the client supports it.
|
||||
func gz(handler http.HandlerFunc) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
38
vendor/github.com/apache/thrift/lib/go/thrift/http_transport_go17.go
generated
vendored
Normal file
38
vendor/github.com/apache/thrift/lib/go/thrift/http_transport_go17.go
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
// +build go1.7
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package thrift
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// NewThriftHandlerFunc is a function that create a ready to use Apache Thrift Handler function
|
||||
func NewThriftHandlerFunc(processor TProcessor,
|
||||
inPfactory, outPfactory TProtocolFactory) func(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
return gz(func(w http.ResponseWriter, r *http.Request) {
|
||||
w.Header().Add("Content-Type", "application/x-thrift")
|
||||
|
||||
transport := NewStreamTransport(r.Body, w)
|
||||
processor.Process(r.Context(), inPfactory.GetProtocol(transport), outPfactory.GetProtocol(transport))
|
||||
})
|
||||
}
|
||||
40
vendor/github.com/apache/thrift/lib/go/thrift/http_transport_pre_go17.go
generated
vendored
Normal file
40
vendor/github.com/apache/thrift/lib/go/thrift/http_transport_pre_go17.go
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
// +build !go1.7
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package thrift
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"golang.org/x/net/context"
|
||||
)
|
||||
|
||||
// NewThriftHandlerFunc is a function that create a ready to use Apache Thrift Handler function
|
||||
func NewThriftHandlerFunc(processor TProcessor,
|
||||
inPfactory, outPfactory TProtocolFactory) func(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
return gz(func(w http.ResponseWriter, r *http.Request) {
|
||||
w.Header().Add("Content-Type", "application/x-thrift")
|
||||
|
||||
transport := NewStreamTransport(r.Body, w)
|
||||
processor.Process(context.Background(), inPfactory.GetProtocol(transport), outPfactory.GetProtocol(transport))
|
||||
})
|
||||
}
|
||||
58
vendor/github.com/apache/thrift/lib/go/thrift/multiplexed_protocol.go
generated
vendored
58
vendor/github.com/apache/thrift/lib/go/thrift/multiplexed_protocol.go
generated
vendored
@@ -19,11 +19,6 @@
|
||||
|
||||
package thrift
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
/*
|
||||
TMultiplexedProtocol is a protocol-independent concrete decorator
|
||||
that allows a Thrift client to communicate with a multiplexing Thrift server,
|
||||
@@ -76,11 +71,33 @@ func (t *TMultiplexedProtocol) WriteMessageBegin(name string, typeId TMessageTyp
|
||||
}
|
||||
|
||||
/*
|
||||
This is the non-context version for TProcessor.
|
||||
TMultiplexedProcessor is a TProcessor allowing
|
||||
a single TServer to provide multiple services.
|
||||
|
||||
See description at file: multiplexed_processor.go
|
||||
To do so, you instantiate the processor and then register additional
|
||||
processors with it, as shown in the following example:
|
||||
|
||||
Deprecated: use TMultiplexedProcessor2 for strong server programming.
|
||||
var processor = thrift.NewTMultiplexedProcessor()
|
||||
|
||||
firstProcessor :=
|
||||
processor.RegisterProcessor("FirstService", firstProcessor)
|
||||
|
||||
processor.registerProcessor(
|
||||
"Calculator",
|
||||
Calculator.NewCalculatorProcessor(&CalculatorHandler{}),
|
||||
)
|
||||
|
||||
processor.registerProcessor(
|
||||
"WeatherReport",
|
||||
WeatherReport.NewWeatherReportProcessor(&WeatherReportHandler{}),
|
||||
)
|
||||
|
||||
serverTransport, err := thrift.NewTServerSocketTimeout(addr, TIMEOUT)
|
||||
if err != nil {
|
||||
t.Fatal("Unable to create server socket", err)
|
||||
}
|
||||
server := thrift.NewTSimpleServer2(processor, serverTransport)
|
||||
server.Serve();
|
||||
*/
|
||||
|
||||
type TMultiplexedProcessor struct {
|
||||
@@ -105,31 +122,6 @@ func (t *TMultiplexedProcessor) RegisterProcessor(name string, processor TProces
|
||||
t.serviceProcessorMap[name] = processor
|
||||
}
|
||||
|
||||
func (t *TMultiplexedProcessor) Process(in, out TProtocol) (bool, TException) {
|
||||
name, typeId, seqid, err := in.ReadMessageBegin()
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
if typeId != CALL && typeId != ONEWAY {
|
||||
return false, fmt.Errorf("Unexpected message type %v", typeId)
|
||||
}
|
||||
//extract the service name
|
||||
v := strings.SplitN(name, MULTIPLEXED_SEPARATOR, 2)
|
||||
if len(v) != 2 {
|
||||
if t.DefaultProcessor != nil {
|
||||
smb := NewStoredMessageProtocol(in, name, typeId, seqid)
|
||||
return t.DefaultProcessor.Process(smb, out)
|
||||
}
|
||||
return false, fmt.Errorf("Service name not found in message name: %s. Did you forget to use a TMultiplexProtocol in your client?", name)
|
||||
}
|
||||
actualProcessor, ok := t.serviceProcessorMap[v[0]]
|
||||
if !ok {
|
||||
return false, fmt.Errorf("Service name not found: %s. Did you forget to call registerProcessor()?", v[0])
|
||||
}
|
||||
smb := NewStoredMessageProtocol(in, v[1], typeId, seqid)
|
||||
return actualProcessor.Process(smb, out)
|
||||
}
|
||||
|
||||
//Protocol that use stored message for ReadMessageBegin
|
||||
type storedMessageProtocol struct {
|
||||
TProtocol
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// +build go1.7
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
@@ -25,60 +27,7 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
/*
|
||||
TMultiplexedProcessor2 is a TProcessor allowing
|
||||
a single TServer to provide multiple services with
|
||||
context support in TProcessor.
|
||||
|
||||
To do so, you instantiate the processor and then register additional
|
||||
processors with it, as shown in the following example:
|
||||
|
||||
var processor = thrift.NewTMultiplexedProcessor2()
|
||||
|
||||
firstProcessor :=
|
||||
processor.RegisterProcessor("FirstService", firstProcessor)
|
||||
|
||||
processor.registerProcessor(
|
||||
"Calculator",
|
||||
Calculator.NewCalculatorProcessor(&CalculatorHandler{}),
|
||||
)
|
||||
|
||||
processor.registerProcessor(
|
||||
"WeatherReport",
|
||||
WeatherReport.NewWeatherReportProcessor(&WeatherReportHandler{}),
|
||||
)
|
||||
|
||||
serverTransport, err := thrift.NewTServerSocketTimeout(addr, TIMEOUT)
|
||||
if err != nil {
|
||||
t.Fatal("Unable to create server socket", err)
|
||||
}
|
||||
server := thrift.NewTSimpleServer2(processor, serverTransport)
|
||||
server.Serve();
|
||||
*/
|
||||
|
||||
type TMultiplexedProcessor2 struct {
|
||||
serviceProcessorMap map[string]TProcessor2
|
||||
DefaultProcessor TProcessor2
|
||||
}
|
||||
|
||||
func NewTMultiplexedProcessor2() *TMultiplexedProcessor2 {
|
||||
return &TMultiplexedProcessor2{
|
||||
serviceProcessorMap: make(map[string]TProcessor2),
|
||||
}
|
||||
}
|
||||
|
||||
func (t *TMultiplexedProcessor2) RegisterDefault(processor TProcessor2) {
|
||||
t.DefaultProcessor = processor
|
||||
}
|
||||
|
||||
func (t *TMultiplexedProcessor2) RegisterProcessor(name string, processor TProcessor2) {
|
||||
if t.serviceProcessorMap == nil {
|
||||
t.serviceProcessorMap = make(map[string]TProcessor2)
|
||||
}
|
||||
t.serviceProcessorMap[name] = processor
|
||||
}
|
||||
|
||||
func (t *TMultiplexedProcessor2) Process(ctx context.Context, in, out TProtocol) (bool, TException) {
|
||||
func (t *TMultiplexedProcessor) Process(ctx context.Context, in, out TProtocol) (bool, TException) {
|
||||
name, typeId, seqid, err := in.ReadMessageBegin()
|
||||
if err != nil {
|
||||
return false, err
|
||||
54
vendor/github.com/apache/thrift/lib/go/thrift/multiplexed_protocol_pre_go17.go
generated
vendored
Normal file
54
vendor/github.com/apache/thrift/lib/go/thrift/multiplexed_protocol_pre_go17.go
generated
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
// +build !go1.7
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package thrift
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"golang.org/x/net/context"
|
||||
)
|
||||
|
||||
func (t *TMultiplexedProcessor) Process(ctx context.Context, in, out TProtocol) (bool, TException) {
|
||||
name, typeId, seqid, err := in.ReadMessageBegin()
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
if typeId != CALL && typeId != ONEWAY {
|
||||
return false, fmt.Errorf("Unexpected message type %v", typeId)
|
||||
}
|
||||
//extract the service name
|
||||
v := strings.SplitN(name, MULTIPLEXED_SEPARATOR, 2)
|
||||
if len(v) != 2 {
|
||||
if t.DefaultProcessor != nil {
|
||||
smb := NewStoredMessageProtocol(in, name, typeId, seqid)
|
||||
return t.DefaultProcessor.Process(ctx, smb, out)
|
||||
}
|
||||
return false, fmt.Errorf("Service name not found in message name: %s. Did you forget to use a TMultiplexProtocol in your client?", name)
|
||||
}
|
||||
actualProcessor, ok := t.serviceProcessorMap[v[0]]
|
||||
if !ok {
|
||||
return false, fmt.Errorf("Service name not found: %s. Did you forget to call registerProcessor()?", v[0])
|
||||
}
|
||||
smb := NewStoredMessageProtocol(in, v[1], typeId, seqid)
|
||||
return actualProcessor.Process(ctx, smb, out)
|
||||
}
|
||||
26
vendor/github.com/apache/thrift/lib/go/thrift/pre_go17.go
generated
vendored
Normal file
26
vendor/github.com/apache/thrift/lib/go/thrift/pre_go17.go
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
// +build !go1.7
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package thrift
|
||||
|
||||
import "golang.org/x/net/context"
|
||||
|
||||
var defaultCtx = context.Background()
|
||||
15
vendor/github.com/apache/thrift/lib/go/thrift/processor.go
generated
vendored
15
vendor/github.com/apache/thrift/lib/go/thrift/processor.go
generated
vendored
@@ -1,3 +1,5 @@
|
||||
// +build !go1.7
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
@@ -19,23 +21,14 @@
|
||||
|
||||
package thrift
|
||||
|
||||
import "context"
|
||||
import "golang.org/x/net/context"
|
||||
|
||||
// A processor is a generic object which operates upon an input stream and
|
||||
// writes to some output stream.
|
||||
type TProcessor interface {
|
||||
Process(in, out TProtocol) (bool, TException)
|
||||
}
|
||||
|
||||
type TProcessorFunction interface {
|
||||
Process(seqId int32, in, out TProtocol) (bool, TException)
|
||||
}
|
||||
|
||||
// TProcessor2 is TProcessor with ctx as its first argument.
|
||||
type TProcessor2 interface {
|
||||
Process(ctx context.Context, in, out TProtocol) (bool, TException)
|
||||
}
|
||||
|
||||
type TProcessorFunction2 interface {
|
||||
type TProcessorFunction interface {
|
||||
Process(ctx context.Context, seqId int32, in, out TProtocol) (bool, TException)
|
||||
}
|
||||
|
||||
59
vendor/github.com/apache/thrift/lib/go/thrift/processor_factory2.go
generated
vendored
59
vendor/github.com/apache/thrift/lib/go/thrift/processor_factory2.go
generated
vendored
@@ -1,59 +0,0 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package thrift
|
||||
|
||||
// The default processor2 factory just returns a singleton
|
||||
// instance.
|
||||
// The TProcessorFactory2 is a context version of the orignal.
|
||||
type TProcessorFactory2 interface {
|
||||
GetProcessor(trans TTransport) TProcessor2
|
||||
}
|
||||
|
||||
type tProcessorFactory2 struct {
|
||||
processor TProcessor2
|
||||
}
|
||||
|
||||
func NewTProcessorFactory2(p TProcessor2) TProcessorFactory2 {
|
||||
return &tProcessorFactory2{processor: p}
|
||||
}
|
||||
|
||||
func (p *tProcessorFactory2) GetProcessor(trans TTransport) TProcessor2 {
|
||||
return p.processor
|
||||
}
|
||||
|
||||
/**
|
||||
* The default processor factory2 just returns a singleton
|
||||
* instance.
|
||||
*/
|
||||
type TProcessorFunctionFactory2 interface {
|
||||
GetProcessorFunction(trans TTransport) TProcessorFunction2
|
||||
}
|
||||
|
||||
type tProcessorFunctionFactory2 struct {
|
||||
processor TProcessorFunction2
|
||||
}
|
||||
|
||||
func NewTProcessorFunctionFactory2(p TProcessorFunction2) TProcessorFunctionFactory2 {
|
||||
return &tProcessorFunctionFactory2{processor: p}
|
||||
}
|
||||
|
||||
func (p *tProcessorFunctionFactory2) GetProcessorFunction(trans TTransport) TProcessorFunction2 {
|
||||
return p.processor
|
||||
}
|
||||
34
vendor/github.com/apache/thrift/lib/go/thrift/processor_go17.go
generated
vendored
Normal file
34
vendor/github.com/apache/thrift/lib/go/thrift/processor_go17.go
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
// +build go1.7
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package thrift
|
||||
|
||||
import "context"
|
||||
|
||||
// A processor is a generic object which operates upon an input stream and
|
||||
// writes to some output stream.
|
||||
type TProcessor interface {
|
||||
Process(ctx context.Context, in, out TProtocol) (bool, TException)
|
||||
}
|
||||
|
||||
type TProcessorFunction interface {
|
||||
Process(ctx context.Context, seqId int32, in, out TProtocol) (bool, TException)
|
||||
}
|
||||
16
vendor/github.com/apache/thrift/lib/go/thrift/server.go
generated
vendored
16
vendor/github.com/apache/thrift/lib/go/thrift/server.go
generated
vendored
@@ -33,19 +33,3 @@ type TServer interface {
|
||||
// all servers are required to be cleanly stoppable.
|
||||
Stop() error
|
||||
}
|
||||
|
||||
// Same as TServer but use TProcessorFactory2 as processor factory.
|
||||
type TServer2 interface {
|
||||
ProcessorFactory() TProcessorFactory2
|
||||
ServerTransport() TServerTransport
|
||||
InputTransportFactory() TTransportFactory
|
||||
OutputTransportFactory() TTransportFactory
|
||||
InputProtocolFactory() TProtocolFactory
|
||||
OutputProtocolFactory() TProtocolFactory
|
||||
|
||||
// Starts the server
|
||||
Serve() error
|
||||
// Stops the server. This is optional on a per-implementation basis. Not
|
||||
// all servers are required to be cleanly stoppable.
|
||||
Stop() error
|
||||
}
|
||||
|
||||
2
vendor/github.com/apache/thrift/lib/go/thrift/simple_server.go
generated
vendored
2
vendor/github.com/apache/thrift/lib/go/thrift/simple_server.go
generated
vendored
@@ -198,7 +198,7 @@ func (p *TSimpleServer) processRequests(client TTransport) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
ok, err := processor.Process(inputProtocol, outputProtocol)
|
||||
ok, err := processor.Process(defaultCtx, inputProtocol, outputProtocol)
|
||||
if err, ok := err.(TTransportException); ok && err.TypeId() == END_OF_FILE {
|
||||
return nil
|
||||
} else if err != nil {
|
||||
|
||||
180
vendor/github.com/apache/thrift/lib/go/thrift/simple_server2.go
generated
vendored
180
vendor/github.com/apache/thrift/lib/go/thrift/simple_server2.go
generated
vendored
@@ -1,180 +0,0 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package thrift
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log"
|
||||
"runtime/debug"
|
||||
"sync"
|
||||
)
|
||||
|
||||
/*
|
||||
* This is only a simple sample same as TSimpleServer but add context
|
||||
* usage support.
|
||||
*/
|
||||
type TSimpleServer2 struct {
|
||||
quit chan struct{}
|
||||
|
||||
processorFactory TProcessorFactory2
|
||||
serverTransport TServerTransport
|
||||
inputTransportFactory TTransportFactory
|
||||
outputTransportFactory TTransportFactory
|
||||
inputProtocolFactory TProtocolFactory
|
||||
outputProtocolFactory TProtocolFactory
|
||||
sync.WaitGroup
|
||||
}
|
||||
|
||||
func NewTSimpleServerWithContext(processor TProcessor2, serverTransport TServerTransport) *TSimpleServer2 {
|
||||
return NewTSimpleServerFactoryWithContext(NewTProcessorFactory2(processor), serverTransport)
|
||||
}
|
||||
|
||||
func NewTSimpleServerFactoryWithContext(processorFactory TProcessorFactory2, serverTransport TServerTransport) *TSimpleServer2 {
|
||||
return &TSimpleServer2{
|
||||
quit: make(chan struct{}, 1),
|
||||
processorFactory: processorFactory,
|
||||
serverTransport: serverTransport,
|
||||
inputTransportFactory: NewTTransportFactory(),
|
||||
outputTransportFactory: NewTTransportFactory(),
|
||||
inputProtocolFactory: NewTBinaryProtocolFactoryDefault(),
|
||||
outputProtocolFactory: NewTBinaryProtocolFactoryDefault(),
|
||||
}
|
||||
}
|
||||
|
||||
func (p *TSimpleServer2) ProcessorFactory() TProcessorFactory2 {
|
||||
return p.processorFactory
|
||||
}
|
||||
|
||||
func (p *TSimpleServer2) ServerTransport() TServerTransport {
|
||||
return p.serverTransport
|
||||
}
|
||||
|
||||
func (p *TSimpleServer2) InputTransportFactory() TTransportFactory {
|
||||
return p.inputTransportFactory
|
||||
}
|
||||
|
||||
func (p *TSimpleServer2) OutputTransportFactory() TTransportFactory {
|
||||
return p.outputTransportFactory
|
||||
}
|
||||
|
||||
func (p *TSimpleServer2) InputProtocolFactory() TProtocolFactory {
|
||||
return p.inputProtocolFactory
|
||||
}
|
||||
|
||||
func (p *TSimpleServer2) OutputProtocolFactory() TProtocolFactory {
|
||||
return p.outputProtocolFactory
|
||||
}
|
||||
|
||||
func (p *TSimpleServer2) Listen() error {
|
||||
return p.serverTransport.Listen()
|
||||
}
|
||||
|
||||
func (p *TSimpleServer2) AcceptLoop() error {
|
||||
for {
|
||||
client, err := p.serverTransport.Accept()
|
||||
if err != nil {
|
||||
select {
|
||||
case <-p.quit:
|
||||
return nil
|
||||
default:
|
||||
}
|
||||
return err
|
||||
}
|
||||
if client != nil {
|
||||
p.Add(1)
|
||||
go func() {
|
||||
if err := p.processRequests(client); err != nil {
|
||||
log.Println("error processing request:", err)
|
||||
}
|
||||
}()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (p *TSimpleServer2) Serve() error {
|
||||
err := p.Listen()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
p.AcceptLoop()
|
||||
return nil
|
||||
}
|
||||
|
||||
var once2 sync.Once
|
||||
|
||||
func (p *TSimpleServer2) Stop() error {
|
||||
q := func() {
|
||||
close(p.quit)
|
||||
p.serverTransport.Interrupt()
|
||||
p.Wait()
|
||||
}
|
||||
once2.Do(q)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *TSimpleServer2) processRequests(client TTransport) error {
|
||||
defer p.Done()
|
||||
|
||||
processor := p.processorFactory.GetProcessor(client)
|
||||
inputTransport, err := p.inputTransportFactory.GetTransport(client)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
outputTransport, err := p.outputTransportFactory.GetTransport(client)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
inputProtocol := p.inputProtocolFactory.GetProtocol(inputTransport)
|
||||
outputProtocol := p.outputProtocolFactory.GetProtocol(outputTransport)
|
||||
defer func() {
|
||||
if e := recover(); e != nil {
|
||||
log.Printf("panic in processor: %s: %s", e, debug.Stack())
|
||||
}
|
||||
}()
|
||||
|
||||
if inputTransport != nil {
|
||||
defer inputTransport.Close()
|
||||
}
|
||||
if outputTransport != nil {
|
||||
defer outputTransport.Close()
|
||||
}
|
||||
for {
|
||||
select {
|
||||
case <-p.quit:
|
||||
return nil
|
||||
default:
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
ok, err := processor.Process(ctx, inputProtocol, outputProtocol)
|
||||
if err, ok := err.(TTransportException); ok && err.TypeId() == END_OF_FILE {
|
||||
return nil
|
||||
} else if err != nil {
|
||||
return err
|
||||
}
|
||||
if err, ok := err.(TApplicationException); ok && err.TypeId() == UNKNOWN_METHOD {
|
||||
continue
|
||||
}
|
||||
if !ok {
|
||||
break
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
8
vendor/github.com/apache/thrift/lib/go/thrift/simple_server_test.go
generated
vendored
8
vendor/github.com/apache/thrift/lib/go/thrift/simple_server_test.go
generated
vendored
@@ -24,14 +24,6 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
type mockProcessor struct {
|
||||
ProcessFunc func(in, out TProtocol) (bool, TException)
|
||||
}
|
||||
|
||||
func (m *mockProcessor) Process(in, out TProtocol) (bool, TException) {
|
||||
return m.ProcessFunc(in, out)
|
||||
}
|
||||
|
||||
type mockServerTransport struct {
|
||||
ListenFunc func() error
|
||||
AcceptFunc func() (TTransport, error)
|
||||
|
||||
Reference in New Issue
Block a user