public async Task WriteAsync(TProtocol oprot, CancellationToken cancellationToken) { oprot.IncrementRecursionDepth(); try { var struc = new TStruct("RuyiNetworkSettings"); await oprot.WriteStructBeginAsync(struc, cancellationToken); var field = new TField(); if (Connection != null && __isset.connection) { field.Name = "connection"; field.Type = TType.Struct; field.ID = 1; await oprot.WriteFieldBeginAsync(field, cancellationToken); await Connection.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (NetworkType != null && __isset.networkType) { field.Name = "networkType"; field.Type = TType.Struct; field.ID = 2; await oprot.WriteFieldBeginAsync(field, cancellationToken); await NetworkType.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (Quality != null && __isset.quality) { field.Name = "quality"; field.Type = TType.Struct; field.ID = 3; await oprot.WriteFieldBeginAsync(field, cancellationToken); await Quality.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (SSID != null && __isset.SSID) { field.Name = "SSID"; field.Type = TType.Struct; field.ID = 4; await oprot.WriteFieldBeginAsync(field, cancellationToken); await SSID.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (BSSID != null && __isset.BSSID) { field.Name = "BSSID"; field.Type = TType.Struct; field.ID = 5; await oprot.WriteFieldBeginAsync(field, cancellationToken); await BSSID.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (Authentication != null && __isset.Authentication) { field.Name = "Authentication"; field.Type = TType.Struct; field.ID = 6; await oprot.WriteFieldBeginAsync(field, cancellationToken); await Authentication.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (DHCPEnabled != null && __isset.DHCPEnabled) { field.Name = "DHCPEnabled"; field.Type = TType.Struct; field.ID = 7; await oprot.WriteFieldBeginAsync(field, cancellationToken); await DHCPEnabled.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (IpAddress != null && __isset.IpAddress) { field.Name = "IpAddress"; field.Type = TType.Struct; field.ID = 8; await oprot.WriteFieldBeginAsync(field, cancellationToken); await IpAddress.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (SubMask != null && __isset.SubMask) { field.Name = "SubMask"; field.Type = TType.Struct; field.ID = 9; await oprot.WriteFieldBeginAsync(field, cancellationToken); await SubMask.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (Gateway != null && __isset.Gateway) { field.Name = "Gateway"; field.Type = TType.Struct; field.ID = 10; await oprot.WriteFieldBeginAsync(field, cancellationToken); await Gateway.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (MainDNS != null && __isset.MainDNS) { field.Name = "MainDNS"; field.Type = TType.Struct; field.ID = 11; await oprot.WriteFieldBeginAsync(field, cancellationToken); await MainDNS.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (SubDNS != null && __isset.SubDNS) { field.Name = "SubDNS"; field.Type = TType.Struct; field.ID = 12; await oprot.WriteFieldBeginAsync(field, cancellationToken); await SubDNS.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (MacAddress != null && __isset.MacAddress) { field.Name = "MacAddress"; field.Type = TType.Struct; field.ID = 13; await oprot.WriteFieldBeginAsync(field, cancellationToken); await MacAddress.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } if (Proxy != null && __isset.Proxy) { field.Name = "Proxy"; field.Type = TType.Struct; field.ID = 14; await oprot.WriteFieldBeginAsync(field, cancellationToken); await Proxy.WriteAsync(oprot, cancellationToken); await oprot.WriteFieldEndAsync(cancellationToken); } await oprot.WriteFieldStopAsync(cancellationToken); await oprot.WriteStructEndAsync(cancellationToken); } finally { oprot.DecrementRecursionDepth(); } }