Struct NetworkDriver
The NetworkDriver is an implementation of Virtual Connections over any transport.
Basic usage:
var driver = new NetworkDriver.Create();
Syntax
public struct NetworkDriver : IDisposable
Constructors
NetworkDriver(INetworkInterface, INetworkParameter[])
Constructor for NetworkDriver.
Declaration
public NetworkDriver(INetworkInterface netIf, params INetworkParameter[] param)
Parameters
Properties
IsCreated
Declaration
public bool IsCreated { get; }
Property Value
LastUpdateTime
Declaration
public long LastUpdateTime { get; }
Property Value
Listening
Declaration
public bool Listening { get; }
Property Value
ReceiveErrorCode
Declaration
public int ReceiveErrorCode { get; }
Property Value
Methods
AbortSend(DataStreamWriter)
Declaration
public void AbortSend(DataStreamWriter writer)
Parameters
Accept()
Checks to see if there are any new connections to Accept.
Declaration
public NetworkConnection Accept()
Returns
Type |
Description |
NetworkConnection |
If accept fails it returnes a default NetworkConnection.
|
BeginSend(NetworkConnection, out DataStreamWriter, Int32)
Declaration
public int BeginSend(NetworkConnection id, out DataStreamWriter writer, int requiredPayloadSize = 0)
Parameters
Returns
BeginSend(NetworkPipeline, NetworkConnection, out DataStreamWriter, Int32)
Declaration
public int BeginSend(NetworkPipeline pipe, NetworkConnection id, out DataStreamWriter writer, int requiredPayloadSize = 0)
Parameters
Returns
Bind(NetworkEndPoint)
Bind the driver to a endpoint.
Declaration
public int Bind(NetworkEndPoint endpoint)
Parameters
Returns
Type |
Description |
Int32 |
Returns 0 on success. And a negative value if a error occured.
|
Connect(NetworkEndPoint)
Connects the driver to a endpoint
Declaration
public NetworkConnection Connect(NetworkEndPoint endpoint)
Parameters
Returns
Type |
Description |
NetworkConnection |
If connect fails it returns a default NetworkConnection.
|
Create(INetworkParameter[])
Helper function for creating a NetworkDriver.
Declaration
public static NetworkDriver Create(params INetworkParameter[] param)
Parameters
Returns
CreatePipeline(Type[])
Declaration
public NetworkPipeline CreatePipeline(params Type[] stages)
Parameters
Type |
Name |
Description |
Type[] |
stages |
An array of stages the pipeline should contain.
|
Returns
Disconnect(NetworkConnection)
Disconnects a NetworkConnection
Declaration
public int Disconnect(NetworkConnection id)
Parameters
Type |
Name |
Description |
NetworkConnection |
id |
The NetworkConnection we want to Disconnect.
|
Returns
Type |
Description |
Int32 |
Return 0 on success.
|
Dispose()
Declaration
EndSend(DataStreamWriter)
Declaration
public int EndSend(DataStreamWriter writer)
Parameters
Returns
GetConnectionState(NetworkConnection)
Declaration
public NetworkConnection.State GetConnectionState(NetworkConnection con)
Parameters
Returns
GetEventQueueSizeForConnection(NetworkConnection)
Returns the size of the eventqueue for a specific connection
Declaration
public int GetEventQueueSizeForConnection(NetworkConnection connectionId)
Parameters
Returns
Type |
Description |
Int32 |
If the connection is valid it returns the size of the event queue otherwise it returns 0.
|
GetPipelineBuffers(NetworkPipeline, NetworkPipelineStageId, NetworkConnection, out NativeArray<Byte>, out NativeArray<Byte>, out NativeArray<Byte>)
Returns the PipelineBuffers for a specific pipeline and stage.
Declaration
public void GetPipelineBuffers(NetworkPipeline pipeline, NetworkPipelineStageId stageId, NetworkConnection connection, out NativeArray<byte> readProcessingBuffer, out NativeArray<byte> writeProcessingBuffer, out NativeArray<byte> sharedBuffer)
Parameters
Listen()
Set the driver to Listen for incomming connections
Declaration
Returns
Type |
Description |
Int32 |
Returns 0 on success.
|
LocalEndPoint()
Declaration
public NetworkEndPoint LocalEndPoint()
Returns
Declaration
public int MaxHeaderSize(NetworkPipeline pipe)
Parameters
Returns
PopEvent(out NetworkConnection, out DataStreamReader)
Declaration
public NetworkEvent.Type PopEvent(out NetworkConnection con, out DataStreamReader reader)
Parameters
Returns
PopEvent(out NetworkConnection, out DataStreamReader, out NetworkPipeline)
Declaration
public NetworkEvent.Type PopEvent(out NetworkConnection con, out DataStreamReader reader, out NetworkPipeline pipeline)
Parameters
Returns
PopEventForConnection(NetworkConnection, out DataStreamReader)
Declaration
public NetworkEvent.Type PopEventForConnection(NetworkConnection connectionId, out DataStreamReader reader)
Parameters
Returns
PopEventForConnection(NetworkConnection, out DataStreamReader, out NetworkPipeline)
Declaration
public NetworkEvent.Type PopEventForConnection(NetworkConnection connectionId, out DataStreamReader reader, out NetworkPipeline pipeline)
Parameters
Returns
RemoteEndPoint(NetworkConnection)
Declaration
public NetworkEndPoint RemoteEndPoint(NetworkConnection id)
Parameters
Returns
ScheduleFlushSend(JobHandle)
Declaration
public JobHandle ScheduleFlushSend(JobHandle dep)
Parameters
Type |
Name |
Description |
JobHandle |
dep |
|
Returns
Type |
Description |
JobHandle |
|
ScheduleUpdate(JobHandle)
Declaration
public JobHandle ScheduleUpdate(JobHandle dep = null)
Parameters
Type |
Name |
Description |
JobHandle |
dep |
|
Returns
Type |
Description |
JobHandle |
|
ToConcurrent()
Create a Concurrent Copy of the NetworkDriver.
Declaration
public NetworkDriver.Concurrent ToConcurrent()
Returns
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.