Package alexiil.mc.lib.net
Class NetIdSignalK<T>
java.lang.Object
alexiil.mc.lib.net.TreeNetIdBase
alexiil.mc.lib.net.NetIdBase
alexiil.mc.lib.net.NetIdTyped<T>
alexiil.mc.lib.net.NetIdSignalK<T>
public final class NetIdSignalK<T> extends NetIdTyped<T>
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceNetIdSignalK.IMsgSignalReceiverK<T> -
Field Summary
Fields inherited from class alexiil.mc.lib.net.TreeNetIdBase
DYNAMIC_LENGTH, fullName, length, name, totalLength -
Constructor Summary
Constructors Constructor Description NetIdSignalK(ParentNetIdSingle<T> parent, java.lang.String name) -
Method Summary
Modifier and Type Method Description protected voidreceive(NetByteBuf buffer, IMsgReadCtx ctx, T obj)voidsend(ActiveConnection connection, T obj)Sends this signal over the specified connectionNetIdSignalK<T>setReceiver(NetIdSignalK.IMsgSignalReceiverK<T> receiver)NetIdSignalK<T>toClientOnly()Changes the flags for this packet to indicate that it should only be sent from the server to the client.NetIdSignalK<T>toEitherSide()This clears theNetIdBase.toClientOnly()andNetIdBase.toServerOnly()flag states, and will make sending packets not throw exceptions.NetIdSignalK<T>toServerOnly()Changes the flags for this packet to indicate that it should only be sent from the client to the server.NetIdSignalK<T>withLargeSize()Changes the size flags of this net ID to indicate that it should use three bytes for the packet's total length (including the header).NetIdSignalK<T>withNormalSize()Changes the size flags of this net ID to indicate that it should use two bytes for the packet's total length (including the header).NetIdSignalK<T>withoutBuffering()Changes the flags for this packet to indicate that it should never be buffered by aBufferedConnection.NetIdSignalK<T>withTinySize()Changes the size flags of this net ID to indicate that it should use a single byte for the packet's total length (including the header).Methods inherited from class alexiil.mc.lib.net.NetIdBase
_toClientOnly, _toEitherSide, _toServerOnly, buffered, changeFlag, notBuffered, setBuffered, setLargeSize, setMaximumDropDelay, setNormalSize, setTinySizeMethods inherited from class alexiil.mc.lib.net.TreeNetIdBase
equals, getRealClassName, hasFixedLength, hashCode, toString
-
Constructor Details
-
Method Details
-
setReceiver
-
receive
- Specified by:
receivein classNetIdTyped<T>- Throws:
InvalidInputDataException
-
withoutBuffering
Description copied from class:NetIdBaseChanges the flags for this packet to indicate that it should never be buffered by aBufferedConnection. This means that it will arrive on the other end of the connection before other packets that don't have this flag set. Sending a lot of these "queue-skipping packets" will generally have a large impact on performance.Unlike all of the other flag modification methods this may be called at any time, in particular before and after sending this.
This method should be preferred over
NetIdBase.notBuffered()because it returns itself.- Specified by:
withoutBufferingin classNetIdBase- Returns:
- This.
-
withTinySize
Description copied from class:NetIdBaseChanges the size flags of this net ID to indicate that it should use a single byte for the packet's total length (including the header). In other words the maximum packet length is 256 bytes, and the minimum is 1 byte. Has no effect if the packet's length is notfixed.This method should be preferred over
NetIdBase.setTinySize()because it returns itself.- Specified by:
withTinySizein classNetIdBase- See Also:
NetIdBase.withNormalSize(),NetIdBase.withLargeSize()
-
withNormalSize
Description copied from class:NetIdBaseChanges the size flags of this net ID to indicate that it should use two bytes for the packet's total length (including the header). In other words the maximum packet length is 65,536 bytes, and the minimum is 1 byte. Has no effect if the packet's length is notfixed.This method should be preferred over
NetIdBase.setNormalSize()because it returns itself.- Specified by:
withNormalSizein classNetIdBase- See Also:
NetIdBase.withTinySize(),NetIdBase.withLargeSize()
-
withLargeSize
Description copied from class:NetIdBaseChanges the size flags of this net ID to indicate that it should use three bytes for the packet's total length (including the header). In other words the maximum packet length is 16,777,216 bytes, and the minimum is 1 byte. Has no effect if the packet's length is notfixed.Unlike all of the other flag modification methods this may be called at any time, in particular before and after sending this.
This method should be preferred over
NetIdBase.setLargeSize()because it returns itself.- Specified by:
withLargeSizein classNetIdBase- See Also:
NetIdBase.withTinySize(),NetIdBase.withNormalSize()
-
toClientOnly
Description copied from class:NetIdBaseChanges the flags for this packet to indicate that it should only be sent from the server to the client. This will make sending this packet from the client throw an unchecked exception, and make the server refuse to bind this packet to an integer ID for receiving.- Specified by:
toClientOnlyin classNetIdBase- See Also:
NetIdBase.toServerOnly()
-
toServerOnly
Description copied from class:NetIdBaseChanges the flags for this packet to indicate that it should only be sent from the client to the server. This will make sending this packet from the server throw an unchecked exception, and make the client refuse to bind this packet to an integer ID for receiving.- Specified by:
toServerOnlyin classNetIdBase- See Also:
NetIdBase.toClientOnly()
-
toEitherSide
Description copied from class:NetIdBaseThis clears theNetIdBase.toClientOnly()andNetIdBase.toServerOnly()flag states, and will make sending packets not throw exceptions.This is the default state for every
NetIdBase.- Specified by:
toEitherSidein classNetIdBase
-
send
Sends this signal over the specified connection- Specified by:
sendin classNetIdTyped<T>
-