From c927f0f78abb5caebfcf6550ad72df84ddbb9456 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=93=E3=81=AE=E4=B8=AD=E4=BA=8C=E7=97=85=E3=81=AB?= =?UTF-8?q?=E7=88=86=E7=84=94=E3=82=92=EF=BC=81?= Date: Wed, 13 Jan 2021 10:09:01 +0800 Subject: [PATCH] send result --- Parallel/TaskBuilder.vb | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Parallel/TaskBuilder.vb b/Parallel/TaskBuilder.vb index d50befd..25392d2 100644 --- a/Parallel/TaskBuilder.vb +++ b/Parallel/TaskBuilder.vb @@ -1,5 +1,8 @@ -Imports System.Reflection +Imports System.IO +Imports System.Reflection Imports Microsoft.VisualBasic.ComponentModel +Imports Microsoft.VisualBasic.MIME.application.json +Imports Microsoft.VisualBasic.MIME.application.json.BSON Imports Microsoft.VisualBasic.Net.Tcp Imports Microsoft.VisualBasic.Parallel Imports Microsoft.VisualBasic.Serialization.JSON @@ -55,9 +58,10 @@ Public Class TaskBuilder : Implements ITaskDriver Private Function GetArgumentValue(i As Integer) As Object Dim resp = New TcpRequest(masterPort).SendMessage(New RequestStream(IPCSocket.Protocol, Protocols.GetArgumentByIndex, BitConverter.GetBytes(i))) Dim stream As New ObjectStream(resp.ChunkBuffer) + Dim type As Type = stream.type.GetType If stream.method = StreamMethods.BSON Then - + Return BSONFormat.Load(stream.stream).CreateObject(type) Else Throw New NotImplementedException End If @@ -70,6 +74,11 @@ Public Class TaskBuilder : Implements ITaskDriver End Function Private Sub PostFinished(result As Object) + Dim type As Type = result.GetType + Dim element = type.GetJsonElement(result, New JSONSerializerOptions) + Dim buf As Stream = BSONFormat.GetBuffer(element) + Dim request As New RequestStream(IPCSocket.Protocol, Protocols.PostResult, New StreamPipe(buf).Read) + Call New TcpRequest(masterPort).SendMessage(request) End Sub End Class