1 /** 2 * Autogenerated by Thrift 3 * 4 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING 5 * @generated 6 */ 7 8 package test.fixtures.basic_swift_bean; 9 10 import static com.facebook.swift.service.SwiftConstants.STICKY_HASH_KEY; 11 12 import java.util.*; 13 import java.util.concurrent.ConcurrentHashMap; 14 import java.util.concurrent.atomic.AtomicLong; 15 import org.apache.thrift.protocol.*; 16 import org.apache.thrift.ClientPushMetadata; 17 import org.apache.thrift.InteractionCreate; 18 import org.apache.thrift.InteractionTerminate; 19 import com.facebook.thrift.client.ResponseWrapper; 20 import com.facebook.thrift.client.RpcOptions; 21 22 public class LegacyServiceReactiveClient 23 implements LegacyService.Reactive { 24 private static final AtomicLong _interactionCounter = new AtomicLong(0); 25 26 private final org.apache.thrift.ProtocolId _protocolId; 27 private final reactor.core.publisher.Mono<? extends com.facebook.thrift.client.RpcClient> _rpcClient; 28 private final Map<String, String> _headers; 29 private final Map<String, String> _persistentHeaders; 30 private final Set<Long> _activeInteractions; 31 32 private static final TField _getPoints_KEY_FIELD_DESC = new TField("key", TType.SET, (short)1); 33 private static final TField _getPoints_LEGACY_STUFF_FIELD_DESC = new TField("legacyStuff", TType.I64, (short)-1); 34 private static final java.util.Map<Short, com.facebook.thrift.payload.Reader> _getPoints_EXCEPTION_READERS = java.util.Collections.emptyMap(); 35 36 static { 37 } 38 LegacyServiceReactiveClient(org.apache.thrift.ProtocolId _protocolId, reactor.core.publisher.Mono<? extends com.facebook.thrift.client.RpcClient> _rpcClient)39 public LegacyServiceReactiveClient(org.apache.thrift.ProtocolId _protocolId, reactor.core.publisher.Mono<? extends com.facebook.thrift.client.RpcClient> _rpcClient) { 40 41 this._protocolId = _protocolId; 42 this._rpcClient = _rpcClient; 43 this._headers = java.util.Collections.emptyMap(); 44 this._persistentHeaders = java.util.Collections.emptyMap(); 45 this._activeInteractions = ConcurrentHashMap.newKeySet(); 46 } 47 LegacyServiceReactiveClient(org.apache.thrift.ProtocolId _protocolId, reactor.core.publisher.Mono<? extends com.facebook.thrift.client.RpcClient> _rpcClient, Map<String, String> _headers, Map<String, String> _persistentHeaders)48 public LegacyServiceReactiveClient(org.apache.thrift.ProtocolId _protocolId, reactor.core.publisher.Mono<? extends com.facebook.thrift.client.RpcClient> _rpcClient, Map<String, String> _headers, Map<String, String> _persistentHeaders) { 49 this(_protocolId, _rpcClient, _headers, _persistentHeaders, new AtomicLong(), ConcurrentHashMap.newKeySet()); 50 } 51 LegacyServiceReactiveClient(org.apache.thrift.ProtocolId _protocolId, reactor.core.publisher.Mono<? extends com.facebook.thrift.client.RpcClient> _rpcClient, Map<String, String> _headers, Map<String, String> _persistentHeaders, AtomicLong interactionCounter, Set<Long> activeInteractions)52 public LegacyServiceReactiveClient(org.apache.thrift.ProtocolId _protocolId, reactor.core.publisher.Mono<? extends com.facebook.thrift.client.RpcClient> _rpcClient, Map<String, String> _headers, Map<String, String> _persistentHeaders, AtomicLong interactionCounter, Set<Long> activeInteractions) { 53 54 this._protocolId = _protocolId; 55 this._rpcClient = _rpcClient; 56 this._headers = _headers; 57 this._persistentHeaders = _persistentHeaders; 58 this._activeInteractions = activeInteractions; 59 } 60 61 @java.lang.Override dispose()62 public void dispose() {} 63 _creategetPointsWriter(final Set<String> key, final long legacyStuff)64 private com.facebook.thrift.payload.Writer _creategetPointsWriter(final Set<String> key, final long legacyStuff) { 65 return oprot -> { 66 try { 67 { 68 oprot.writeFieldBegin(_getPoints_KEY_FIELD_DESC); 69 70 Set<String> _iter0 = key; 71 72 oprot.writeSetBegin(new TSet(TType.STRING, _iter0.size())); 73 for (String _iter1 : _iter0) { 74 oprot.writeString(_iter1); 75 } 76 oprot.writeSetEnd(); 77 oprot.writeFieldEnd(); 78 } 79 80 { 81 oprot.writeFieldBegin(_getPoints_LEGACY_STUFF_FIELD_DESC); 82 83 long _iter0 = legacyStuff; 84 85 oprot.writeI64(legacyStuff); 86 oprot.writeFieldEnd(); 87 } 88 89 90 } catch (Throwable _e) { 91 throw reactor.core.Exceptions.propagate(_e); 92 } 93 }; 94 } 95 96 private static final com.facebook.thrift.payload.Reader _getPoints_READER = 97 oprot -> { 98 try { 99 Map<String, List<Integer>> _r; 100 { 101 TMap _map = oprot.readMapBegin(); 102 _r = new HashMap<String, List<Integer>>(Math.max(0, _map.size)); 103 for (int _i = 0; (_map.size < 0) ? oprot.peekMap() : (_i < _map.size); _i++) { 104 105 String _key1 = oprot.readString(); 106 List<Integer> _value1; 107 { 108 TList _list1 = oprot.readListBegin(); 109 _value1 = new ArrayList<Integer>(Math.max(0, _list1.size)); 110 for (int _i1 = 0; (_list1.size < 0) ? oprot.peekList() : (_i1 < _list1.size); _i1++) { 111 112 113 int _value2 = oprot.readI32(); 114 115 116 _value1.add(_value2); 117 118 } 119 oprot.readListEnd(); 120 } 121 122 _r.put(_key1, _value1); 123 } 124 } 125 oprot.readMapEnd(); 126 return _r; 127 128 129 } catch (Throwable _e) { 130 throw reactor.core.Exceptions.propagate(_e); 131 } 132 }; 133 134 135 @java.lang.Override 136 public reactor.core.publisher.Mono<com.facebook.thrift.client.ResponseWrapper<Map<String, List<Integer>>>> getPointsWrapper(final Set<String> key, final long legacyStuff, final com.facebook.thrift.client.RpcOptions rpcOptions) { 137 return _rpcClient 138 .flatMap(_rpc -> { 139 org.apache.thrift.RequestRpcMetadata _metadata = new org.apache.thrift.RequestRpcMetadata.Builder() 140 .setName("getPoints") 141 .setKind(org.apache.thrift.RpcKind.SINGLE_REQUEST_SINGLE_RESPONSE) 142 .setOtherMetadata(getHeaders(rpcOptions)) 143 .setProtocol(_protocolId) 144 .build(); 145 146 com.facebook.thrift.payload.ClientRequestPayload<Map<String, List<Integer>>> _crp = 147 com.facebook.thrift.payload.ClientRequestPayload.create( 148 _creategetPointsWriter(key, legacyStuff), 149 _getPoints_READER, 150 _getPoints_EXCEPTION_READERS, 151 _metadata, 152 java.util.Collections.emptyMap()); 153 154 return _rpc 155 .singleRequestSingleResponse(_crp, rpcOptions).doOnNext(_p -> {if(_p.getException() != null) throw reactor.core.Exceptions.propagate(_p.getException());}); 156 }); 157 } 158 159 @java.lang.Override 160 public reactor.core.publisher.Mono<Map<String, List<Integer>>> getPoints(final Set<String> key, final long legacyStuff, final com.facebook.thrift.client.RpcOptions rpcOptions) { 161 return getPointsWrapper(key, legacyStuff, rpcOptions).map(_p -> _p.getData()); 162 } 163 164 @java.lang.Override 165 public reactor.core.publisher.Mono<Map<String, List<Integer>>> getPoints(final Set<String> key, final long legacyStuff) { 166 return getPoints(key, legacyStuff, com.facebook.thrift.client.RpcOptions.EMPTY); 167 } 168 169 170 171 private Map<String, String> getHeaders(com.facebook.thrift.client.RpcOptions rpcOptions) { 172 Map<String, String> headers = new HashMap<>(); 173 if (rpcOptions.getRequestHeaders() != null && !rpcOptions.getRequestHeaders().isEmpty()) { 174 headers.putAll(rpcOptions.getRequestHeaders()); 175 } 176 if (_headers != null && !_headers.isEmpty()) { 177 headers.putAll(_headers); 178 } 179 if (_persistentHeaders != null && !_persistentHeaders.isEmpty()) { 180 headers.putAll(_persistentHeaders); 181 } 182 return headers; 183 } 184 } 185