public async Task <SpotNearbyResponse> lookupNearbyAsync(Location location, SpotCategory category, string query, string countryAreaCode, CancellationToken cancellationToken) { await OutputProtocol.WriteMessageBeginAsync(new TMessage("lookupNearby", TMessageType.Call, SeqId), cancellationToken); var args = new lookupNearbyArgs(); args.Location = location; args.Category = category; args.Query = query; args.CountryAreaCode = countryAreaCode; await args.WriteAsync(OutputProtocol, cancellationToken); await OutputProtocol.WriteMessageEndAsync(cancellationToken); await OutputProtocol.Transport.FlushAsync(cancellationToken); var msg = await InputProtocol.ReadMessageBeginAsync(cancellationToken); if (msg.Type == TMessageType.Exception) { var x = await TApplicationException.ReadAsync(InputProtocol, cancellationToken); await InputProtocol.ReadMessageEndAsync(cancellationToken); throw x; } var result = new lookupNearbyResult(); await result.ReadAsync(InputProtocol, cancellationToken); await InputProtocol.ReadMessageEndAsync(cancellationToken); if (result.__isset.success) { return(result.Success); } if (result.__isset.e) { throw result.E; } throw new TApplicationException(TApplicationException.ExceptionType.MissingResult, "lookupNearby failed: unknown result"); }