ReadMetadataFromPtrUnsafe() public static method

Reads metadata from pointer to grpc_metadata_array
public static ReadMetadataFromPtrUnsafe ( IntPtr metadataArray ) : Metadata
metadataArray System.IntPtr
return Metadata
Example #1
0
        // Gets data of recv_status_on_client completion.
        public ClientSideStatus GetReceivedStatusOnClient()
        {
            string details = Marshal.PtrToStringAnsi(grpcsharp_batch_context_recv_status_on_client_details(this));
            var    status  = new Status(grpcsharp_batch_context_recv_status_on_client_status(this), details);

            IntPtr metadataArrayPtr = grpcsharp_batch_context_recv_status_on_client_trailing_metadata(this);
            var    metadata         = MetadataArraySafeHandle.ReadMetadataFromPtrUnsafe(metadataArrayPtr);

            return(new ClientSideStatus(status, metadata));
        }
Example #2
0
        // Gets data of recv_status_on_client completion.
        public ClientSideStatus GetReceivedStatusOnClient()
        {
            UIntPtr detailsLength;
            IntPtr  detailsPtr = Native.grpcsharp_batch_context_recv_status_on_client_details(this, out detailsLength);
            string  details    = MarshalUtils.PtrToStringUTF8(detailsPtr, (int)detailsLength.ToUInt32());
            var     status     = new Status(Native.grpcsharp_batch_context_recv_status_on_client_status(this), details);

            IntPtr metadataArrayPtr = Native.grpcsharp_batch_context_recv_status_on_client_trailing_metadata(this);
            var    metadata         = MetadataArraySafeHandle.ReadMetadataFromPtrUnsafe(metadataArrayPtr);

            return(new ClientSideStatus(status, metadata));
        }
Example #3
0
        // Gets data of server_rpc_new completion.
        public ServerRpcNew GetServerRpcNew(Server server)
        {
            var call = grpcsharp_batch_context_server_rpc_new_call(this);

            var method   = Marshal.PtrToStringAnsi(grpcsharp_batch_context_server_rpc_new_method(this));
            var host     = Marshal.PtrToStringAnsi(grpcsharp_batch_context_server_rpc_new_host(this));
            var deadline = grpcsharp_batch_context_server_rpc_new_deadline(this);

            IntPtr metadataArrayPtr = grpcsharp_batch_context_server_rpc_new_request_metadata(this);
            var    metadata         = MetadataArraySafeHandle.ReadMetadataFromPtrUnsafe(metadataArrayPtr);

            return(new ServerRpcNew(server, call, method, host, deadline, metadata));
        }
        // Gets data of server_rpc_new completion.
        public ServerRpcNew GetServerRpcNew(Server server)
        {
            var call = Native.grpcsharp_request_call_context_call(this);

            UIntPtr methodLen;
            IntPtr  methodPtr = Native.grpcsharp_request_call_context_method(this, out methodLen);
            var     method    = Marshal.PtrToStringAnsi(methodPtr, (int)methodLen.ToUInt32());

            UIntPtr hostLen;
            IntPtr  hostPtr = Native.grpcsharp_request_call_context_host(this, out hostLen);
            var     host    = Marshal.PtrToStringAnsi(hostPtr, (int)hostLen.ToUInt32());

            var deadline = Native.grpcsharp_request_call_context_deadline(this);

            IntPtr metadataArrayPtr = Native.grpcsharp_request_call_context_request_metadata(this);
            var    metadata         = MetadataArraySafeHandle.ReadMetadataFromPtrUnsafe(metadataArrayPtr);

            return(new ServerRpcNew(server, call, method, host, deadline, metadata));
        }
Example #5
0
        // Gets data of recv_initial_metadata completion.
        public Metadata GetReceivedInitialMetadata()
        {
            IntPtr metadataArrayPtr = Native.grpcsharp_batch_context_recv_initial_metadata(this);

            return(MetadataArraySafeHandle.ReadMetadataFromPtrUnsafe(metadataArrayPtr));
        }