Ejemplo n.º 1
0
        public Result <ulong> StartRecordingLoadingTime(LoadingTimeMetadata metadata, TAnnotation annotation)
        {
            IntPtr metadataPtr  = IntPtr.Zero;
            uint   metadataSize = 0;

            if (metadata != null)
            {
                metadataSize = (uint)Marshal.SizeOf(metadata);
                metadataPtr  = Marshal.AllocHGlobal(Marshal.SizeOf(metadata));
                Marshal.StructureToPtr(metadata, metadataPtr, false);
            }

            var   ps        = CProtobufSerialization.Create(annotation);
            ulong handle    = 0;
            var   errorCode = m_LibraryMethods.StartRecordingLoadingTime(
                metadataPtr, metadataSize, ref ps, ref handle);

            CProtobufSerialization.CallDealloc(ref ps);

            if (metadataPtr != IntPtr.Zero)
            {
                Marshal.FreeHGlobal(metadataPtr);
            }

            return(new Result <ulong>(errorCode, handle));
        }
Ejemplo n.º 2
0
 public ErrorCode GetFidelityParameters(
     ref CProtobufSerialization defaultParameters,
     ref CProtobufSerialization parameters,
     uint timeout)
 {
     return(ErrorCode.PlatformNotSupported);
 }
Ejemplo n.º 3
0
        public ErrorCode InitWithSettings(InitializationSettings settings)
        {
            CInitializationSettings cSettings = new CInitializationSettings()
            {
                persistent_cache         = IntPtr.Zero, // Using default one.
                swappy_tracer_fn         = null,        // It will be set by native library.
                fidelity_params_callback = settings.fidelityParamsCallback,
                training_fidelity_params = IntPtr.Zero,
                endpoint_uri_override    = IntPtr.Zero,
                swappy_version           = 0, // It will be set by native library.
                max_num_metrics          = settings.maxNumMetrics,
                api_key = IntPtr.Zero
            };

            if (settings.trainingFidelityParams != null)
            {
                CProtobufSerialization cs = CProtobufSerialization.Create(settings.trainingFidelityParams);
                cSettings.training_fidelity_params = Marshal.AllocHGlobal(Marshal.SizeOf(cs));
                Marshal.StructureToPtr(cs, cSettings.training_fidelity_params, true);
                m_Ptrs.Add(cSettings.training_fidelity_params);
            }

            if (!string.IsNullOrEmpty(settings.endpointUriOverride))
            {
                cSettings.endpoint_uri_override = Marshal.StringToHGlobalAnsi(settings.endpointUriOverride);
                m_Ptrs.Add(cSettings.endpoint_uri_override);
            }

            return(m_LibraryMethods.InitWithSettings(ref cSettings));
        }
Ejemplo n.º 4
0
 public ErrorCode GetFidelityParameters(
     ref CProtobufSerialization defaultParameters,
     ref CProtobufSerialization parameters,
     uint timeout)
 {
     return((ErrorCode)TuningFork_getFidelityParameters(ref defaultParameters, ref parameters, timeout));
 }
 internal static void FidelityParamsCallbackImpl(ref CProtobufSerialization ps)
 {
     if (onFidelityParamsReceived != null)
     {
         onFidelityParamsReceived(ps);
     }
 }
Ejemplo n.º 6
0
        public ErrorCode SetCurrentAnnotation(TAnnotation annotation)
        {
            var ps        = CProtobufSerialization.Create(annotation);
            var errorCode = m_LibraryMethods.SetCurrentAnnotation(ref ps);

            CProtobufSerialization.CallDealloc(ref ps);
            return(errorCode);
        }
Ejemplo n.º 7
0
 public ErrorCode StartRecordingLoadingTime(
     IntPtr eventMetadata,
     uint eventMetadataSize,
     ref CProtobufSerialization annotation,
     ref ulong handle)
 {
     return(ErrorCode.PlatformNotSupported);
 }
Ejemplo n.º 8
0
        public ErrorCode SetFidelityParameters(TFidelity fidelityParams)
        {
            var ps        = CProtobufSerialization.Create(fidelityParams);
            var errorCode = m_LibraryMethods.SetFidelityParameters(ref ps);

            CProtobufSerialization.CallDealloc(ref ps);
            return(errorCode);
        }
 public ErrorCode StartRecordingLoadingTime(
     IntPtr eventMetadataPtr,
     uint eventMetadataSize,
     ref CProtobufSerialization annotation,
     ref ulong handle)
 {
     return((ErrorCode)TuningFork_startRecordingLoadingTime(
                eventMetadataPtr, eventMetadataSize, ref annotation, ref handle));
 }
Ejemplo n.º 10
0
 static void FidelityParamsCallbackImpl(ref CProtobufSerialization ps)
 {
     if (s_ActiveTf == null && s_ActiveTf.onReceiveUploadLog == null)
     {
         return;
     }
     // Don't call OnReceiveFidelityParameters directly from this thread.
     s_ActiveTf.m_ReceivedFidelityParameters = ps.ParseMessage <TFidelity>();
 }
 static void FidelityParamsCallbackImpl(CProtobufSerialization ps)
 {
     // Don't call OnReceiveFidelityParameters directly from this thread.
     if (s_Tuner == null || s_Tuner.onReceiveFidelityParameters == null)
     {
         return;
     }
     s_Tuner.m_ReceivedFidelityParameters = ps.ParseMessage <TFidelity>();
 }
        static void DeallocCallbackImpl(ref CProtobufSerialization parameters)
        {
            Debug.LogFormat("DeallocCallbackImpl.size: {0}", parameters.size);
            if (parameters.bytes != IntPtr.Zero)
            {
                Marshal.FreeHGlobal(parameters.bytes);
            }

            parameters.bytes = parameters.dealloc = IntPtr.Zero;
            parameters.size  = 0;
        }
Ejemplo n.º 13
0
        public ErrorCode SetFidelityParameters(TFidelity fidelityParams)
        {
            if (MessageUtil.HasInvalidEnumField(fidelityParams))
            {
                return(ErrorCode.InvalidFidelity);
            }
            var ps        = CProtobufSerialization.Create(fidelityParams);
            var errorCode = m_LibraryMethods.SetFidelityParameters(ref ps);

            CProtobufSerialization.CallDealloc(ref ps);
            return(errorCode);
        }
Ejemplo n.º 14
0
        public ErrorCode SetCurrentAnnotation(TAnnotation annotation)
        {
            if (MessageUtil.HasInvalidEnumField(annotation))
            {
                return(ErrorCode.InvalidAnnotation);
            }
            var ps        = CProtobufSerialization.Create(annotation);
            var errorCode = m_LibraryMethods.SetCurrentAnnotation(ref ps);

            CProtobufSerialization.CallDealloc(ref ps);
            return(errorCode);
        }
        /// <summary>
        /// Free all memory allocated by serialization.
        /// </summary>
        /// <param name="ps">The serialized proto message.</param>
        public static void CallDealloc(ref CProtobufSerialization ps)
        {
            if (ps.dealloc == IntPtr.Zero)
            {
                return;
            }

            DeallocCallback dealloc =
                Marshal.GetDelegateForFunctionPointer <DeallocCallback>(ps.dealloc);

            if (dealloc != null)
            {
                dealloc(ref ps);
            }
        }
Ejemplo n.º 16
0
        public Result <TFidelity> FindFidelityParametersInApk(string filename)
        {
            var ps        = new CProtobufSerialization();
            var errorCode = m_LibraryMethods.FindFidelityParamsInApk(filename, ref ps);

            TFidelity fp = null;

            if (errorCode == ErrorCode.Ok)
            {
                fp = ps.ParseMessage <TFidelity>();
                if (fp == null)
                {
                    errorCode = ErrorCode.InvalidFidelity;
                }
            }

            CProtobufSerialization.CallDealloc(ref ps);
            return(new Result <TFidelity>(errorCode, fp));
        }
Ejemplo n.º 17
0
        public Result <TFidelity> GetFidelityParameters(TFidelity defaultFidelity, UInt32 initialTimeoutMs)
        {
            var defaultPs = CProtobufSerialization.Create(defaultFidelity);
            var newPs     = new CProtobufSerialization();
            var errorCode = m_LibraryMethods.GetFidelityParameters(
                ref defaultPs, ref newPs, initialTimeoutMs);
            TFidelity fp = null;

            if (errorCode == ErrorCode.Ok)
            {
                fp = newPs.ParseMessage <TFidelity>();
                if (fp == null)
                {
                    errorCode = ErrorCode.InvalidFidelity;
                }
            }

            CProtobufSerialization.CallDealloc(ref newPs);
            CProtobufSerialization.CallDealloc(ref defaultPs);
            return(new Result <TFidelity>(errorCode, fp));
        }
Ejemplo n.º 18
0
        public ErrorCode Init(FidelityParamsCallback fidelityParamsCallback,
                              IMessage trainingFidelityParameters, String endpointUrlOverride)
        {
            IntPtr trainingFidelityParametersPtr = IntPtr.Zero;

            if (trainingFidelityParameters != null)
            {
                CProtobufSerialization cs = CProtobufSerialization.Create(trainingFidelityParameters);
                trainingFidelityParametersPtr = Marshal.AllocHGlobal(Marshal.SizeOf(cs));
                Marshal.StructureToPtr(cs, trainingFidelityParametersPtr, true);
                m_Ptrs.Add(trainingFidelityParametersPtr);
            }

            IntPtr endpointUrlOverridePtr = IntPtr.Zero;

            if (!string.IsNullOrEmpty(endpointUrlOverride))
            {
                endpointUrlOverridePtr = Marshal.StringToHGlobalAnsi(endpointUrlOverride);
                m_Ptrs.Add(endpointUrlOverridePtr);
            }

            return(m_LibraryMethods.Init(fidelityParamsCallback, trainingFidelityParametersPtr, endpointUrlOverridePtr));
        }
Ejemplo n.º 19
0
 static extern int TuningFork_setCurrentAnnotation(ref CProtobufSerialization annotation);
Ejemplo n.º 20
0
 public ErrorCode SetCurrentAnnotation(ref CProtobufSerialization annotation)
 {
     return(ErrorCode.PlatformNotSupported);
 }
Ejemplo n.º 21
0
 static extern int TuningFork_setFidelityParameters(ref CProtobufSerialization fidelityParameters);
Ejemplo n.º 22
0
 public ErrorCode SetFidelityParameters(ref CProtobufSerialization fidelityParameters)
 {
     return((ErrorCode)TuningFork_setFidelityParameters(ref fidelityParameters));
 }
Ejemplo n.º 23
0
 static extern int Unity_TuningFork_findFidelityParamsInApk(
     string filename, ref CProtobufSerialization fidelityParameters);
Ejemplo n.º 24
0
 public ErrorCode SetCurrentAnnotation(ref CProtobufSerialization annotation)
 {
     return((ErrorCode)TuningFork_setCurrentAnnotation(ref annotation));
 }
Ejemplo n.º 25
0
 public ErrorCode FindFidelityParamsInApk(string filename, ref CProtobufSerialization fidelityParameters)
 {
     return(ErrorCode.PlatformNotSupported);
 }
Ejemplo n.º 26
0
 static extern int TuningFork_startRecordingLoadingTime(
     IntPtr eventMetadata,
     uint eventMetadataSize,
     ref CProtobufSerialization annotation,
     ref ulong handle);
Ejemplo n.º 27
0
 public ErrorCode SetFidelityParameters(ref CProtobufSerialization fidelityParameters)
 {
     return(ErrorCode.PlatformNotSupported);
 }
Ejemplo n.º 28
0
 public ErrorCode FindFidelityParamsInApk(string filename, ref CProtobufSerialization fidelityParameters)
 {
     return((ErrorCode)Unity_TuningFork_findFidelityParamsInApk(filename, ref fidelityParameters));
 }
Ejemplo n.º 29
0
 static extern int TuningFork_getFidelityParameters(
     ref CProtobufSerialization defaultParameters,
     ref CProtobufSerialization parameters,
     UInt32 timeout);