diff --git a/Parallel/IpcParallel/SocketBuffer/SocketRef.vb b/Parallel/IpcParallel/SocketBuffer/SocketRef.vb index 6bf1153..3591754 100644 --- a/Parallel/IpcParallel/SocketBuffer/SocketRef.vb +++ b/Parallel/IpcParallel/SocketBuffer/SocketRef.vb @@ -1,48 +1,49 @@ #Region "Microsoft.VisualBasic::11d09a76aa25b30fc9f2f80cf0f60145, Parallel\IpcParallel\SocketBuffer\SocketRef.vb" - ' Author: - ' - ' asuka (amethyst.asuka@gcmodeller.org) - ' xie (genetics@smrucc.org) - ' xieguigang (xie.guigang@live.com) - ' - ' Copyright (c) 2018 GPL3 Licensed - ' - ' - ' GNU GENERAL PUBLIC LICENSE (GPL3) - ' - ' - ' This program is free software: you can redistribute it and/or modify - ' it under the terms of the GNU General Public License as published by - ' the Free Software Foundation, either version 3 of the License, or - ' (at your option) any later version. - ' - ' This program is distributed in the hope that it will be useful, - ' but WITHOUT ANY WARRANTY; without even the implied warranty of - ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ' GNU General Public License for more details. - ' - ' You should have received a copy of the GNU General Public License - ' along with this program. If not, see . - - - - ' /********************************************************************************/ - - ' Summaries: - - ' Class SocketRef - ' - ' Properties: address - ' - ' Function: CreateReference, GetSocket, Open, ToString, WriteBuffer - ' - ' - ' /********************************************************************************/ +' Author: +' +' asuka (amethyst.asuka@gcmodeller.org) +' xie (genetics@smrucc.org) +' xieguigang (xie.guigang@live.com) +' +' Copyright (c) 2018 GPL3 Licensed +' +' +' GNU GENERAL PUBLIC LICENSE (GPL3) +' +' +' This program is free software: you can redistribute it and/or modify +' it under the terms of the GNU General Public License as published by +' the Free Software Foundation, either version 3 of the License, or +' (at your option) any later version. +' +' This program is distributed in the hope that it will be useful, +' but WITHOUT ANY WARRANTY; without even the implied warranty of +' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +' GNU General Public License for more details. +' +' You should have received a copy of the GNU General Public License +' along with this program. If not, see . + + + +' /********************************************************************************/ + +' Summaries: + +' Class SocketRef +' +' Properties: address +' +' Function: CreateReference, GetSocket, Open, ToString, WriteBuffer +' +' +' /********************************************************************************/ #End Region Imports System.IO +Imports System.Runtime.CompilerServices Imports Microsoft.VisualBasic.MIME.application.json.BSON Namespace IpcStream @@ -81,6 +82,7 @@ Namespace IpcStream End Using End Function + Public Overrides Function ToString() As String Return address End Function @@ -91,12 +93,19 @@ Namespace IpcStream End Using End Function + Public Shared Function CreateReference() As SocketRef Return App.GetAppSysTempFile(".sock", App.PID.ToHexString, prefix:="Parallel") End Function + Public Shared Widening Operator CType(ref As String) As SocketRef Return New SocketRef With {.address = ref} End Operator + + + Public Shared Narrowing Operator CType(socket As SocketRef) As String + Return socket.address + End Operator End Class End Namespace