Imports System
Imports System.Data.OleDb
Namespace p2pfirewall
Public
Class tunnel
Inherits System.MarshalByRefObject
Dim
DSN as string = "Provider=Microsoft.Jet.OLEDB.4.0;" + _
"Data Source=C:\filetransfers.mdb";
Public Sub postRequest(ByVal
requestingPeer As String, ByVal _
filename As String, ByVal respondingPeer As
String) Dim SQL As String
SQL =
"insert into requests "
SQL
= SQL +
"(requester,filename,respondent) values ("
SQL =
SQL + "'" + requestingPeer + "',"
SQL =
SQL + "'" + filename + "',"
SQL =
SQL + "'" + respondingPeer + "')"
nonQuery(SQL,DSN)
End
Sub
Public Sub postResponse(ByVal
respondingPeer As String, _
ByVal filename As String, ByVal fileContents As String, _
ByVal requestingPeer As String)
Dim SQL As String
SQL = "insert into responses "
SQL = SQL +
"((requester,fileContents,filename,respondent) values ("
SQL = SQL + "'" + requestingPeer + "',"
SQL = SQL + "'" +
fileContents + "',"
SQL = SQL + "'" +
filename + "',"
SQL = SQL + "'" + respondingPeer + "')"
nonQuery(SQL,DSN)
End Sub
Public Function checkRequests(ByVal peer As String) As String
Dim SQL As String
Dim filename As String
SQL = "select top 1 * from requests
where "
SQL = SQL + " respondent='" + peer + "'"
filename =
Query("filename",SQL,DSN)
' don't return the same request twice.
SQL = "delete from requests where "
SQL = SQL + " respondent='" + peer + "' and "
SQL = SQL + " filename='" + filename + "'"
nonQuery(SQL,DSN)
Return filename
End
Function
Public Function checkResponse(ByVal respondingPeer As String, _
ByVal filename As String) As String
Dim SQL As String
SQL = "select top 1 * from responses where "
SQL = SQL + " respondent='" + respondingPeer + "' and
"
SQL = SQL + " filename='" + filename + "'"
Return Query("fileContents",SQL,DSN)
End
Function
End
Class
End Namespace