Terraria 1.4.0.5 Source Code
This commit is contained in:
commit
05205f009e
1059 changed files with 563450 additions and 0 deletions
92
Net/Sockets/SocialSocket.cs
Normal file
92
Net/Sockets/SocialSocket.cs
Normal file
|
@ -0,0 +1,92 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: Terraria.Net.Sockets.SocialSocket
|
||||
// Assembly: Terraria, Version=1.4.0.5, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 67F9E73E-0A81-4937-A22C-5515CD405A83
|
||||
// Assembly location: C:\Users\mikeyisbaeyt\Downloads\depotdownloader-2.4.5\depots\105601\6707058\Terraria.exe
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using Terraria.Social;
|
||||
|
||||
namespace Terraria.Net.Sockets
|
||||
{
|
||||
public class SocialSocket : ISocket
|
||||
{
|
||||
private RemoteAddress _remoteAddress;
|
||||
|
||||
public SocialSocket()
|
||||
{
|
||||
}
|
||||
|
||||
public SocialSocket(RemoteAddress remoteAddress) => this._remoteAddress = remoteAddress;
|
||||
|
||||
void ISocket.Close()
|
||||
{
|
||||
if (this._remoteAddress == null)
|
||||
return;
|
||||
SocialAPI.Network.Close(this._remoteAddress);
|
||||
this._remoteAddress = (RemoteAddress) null;
|
||||
}
|
||||
|
||||
bool ISocket.IsConnected() => SocialAPI.Network.IsConnected(this._remoteAddress);
|
||||
|
||||
void ISocket.Connect(RemoteAddress address)
|
||||
{
|
||||
this._remoteAddress = address;
|
||||
SocialAPI.Network.Connect(address);
|
||||
}
|
||||
|
||||
void ISocket.AsyncSend(
|
||||
byte[] data,
|
||||
int offset,
|
||||
int size,
|
||||
SocketSendCallback callback,
|
||||
object state)
|
||||
{
|
||||
SocialAPI.Network.Send(this._remoteAddress, data, size);
|
||||
callback.BeginInvoke(state, (AsyncCallback) null, (object) null);
|
||||
}
|
||||
|
||||
private void ReadCallback(
|
||||
byte[] data,
|
||||
int offset,
|
||||
int size,
|
||||
SocketReceiveCallback callback,
|
||||
object state)
|
||||
{
|
||||
int size1;
|
||||
while ((size1 = SocialAPI.Network.Receive(this._remoteAddress, data, offset, size)) == 0)
|
||||
Thread.Sleep(1);
|
||||
callback(state, size1);
|
||||
}
|
||||
|
||||
void ISocket.AsyncReceive(
|
||||
byte[] data,
|
||||
int offset,
|
||||
int size,
|
||||
SocketReceiveCallback callback,
|
||||
object state)
|
||||
{
|
||||
new SocialSocket.InternalReadCallback(this.ReadCallback).BeginInvoke(data, offset, size, callback, state, (AsyncCallback) null, (object) null);
|
||||
}
|
||||
|
||||
void ISocket.SendQueuedPackets()
|
||||
{
|
||||
}
|
||||
|
||||
bool ISocket.IsDataAvailable() => SocialAPI.Network.IsDataAvailable(this._remoteAddress);
|
||||
|
||||
RemoteAddress ISocket.GetRemoteAddress() => this._remoteAddress;
|
||||
|
||||
bool ISocket.StartListening(SocketConnectionAccepted callback) => SocialAPI.Network.StartListening(callback);
|
||||
|
||||
void ISocket.StopListening() => SocialAPI.Network.StopListening();
|
||||
|
||||
private delegate void InternalReadCallback(
|
||||
byte[] data,
|
||||
int offset,
|
||||
int size,
|
||||
SocketReceiveCallback callback,
|
||||
object state);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue