Interfaces.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #if !BESTHTTP_DISABLE_SOCKETIO
  2. namespace BestHTTP.SocketIO3
  3. {
  4. using BestHTTP.Logger;
  5. using BestHTTP.PlatformSupport.Memory;
  6. using BestHTTP.SocketIO3.Transports;
  7. /// <summary>
  8. /// Interface to hide internal functions from the user by implementing it as an explicit interface.
  9. /// </summary>
  10. public interface IManager
  11. {
  12. LoggingContext Context { get; }
  13. void Remove(Socket socket);
  14. void Close(bool removeSockets = true);
  15. void TryToReconnect();
  16. bool OnTransportConnected(ITransport transport);
  17. void OnTransportError(ITransport trans, string err);
  18. void OnTransportProbed(ITransport trans);
  19. void SendPacket(OutgoingPacket packet);
  20. void OnPacket(IncomingPacket packet);
  21. void EmitEvent(string eventName, params object[] args);
  22. void EmitEvent(SocketIOEventTypes type, params object[] args);
  23. void EmitError(string msg);
  24. void EmitAll(string eventName, params object[] args);
  25. }
  26. /// <summary>
  27. /// Interface to hide internal functions from the user by implementing it as an explicit interface.
  28. /// </summary>
  29. public interface ISocket
  30. {
  31. LoggingContext Context { get; }
  32. void Open();
  33. void Disconnect(bool remove);
  34. void OnPacket(IncomingPacket packet);
  35. void EmitEvent(SocketIOEventTypes type, params object[] args);
  36. void EmitEvent(string eventName, params object[] args);
  37. void EmitError(string msg);
  38. }
  39. }
  40. #endif